diff --git a/resources/config2/gameobjects_uni_interior_x.json b/resources/config2/gameobjects_uni_interior_x.json index afe478c..c46403b 100644 --- a/resources/config2/gameobjects_uni_interior_x.json +++ b/resources/config2/gameobjects_uni_interior_x.json @@ -4,7 +4,7 @@ "name": "inai", "texturePath": "resources/w/interior/Building_work014.png", "textureDarkandsPath": "resources/w/interior/darklands_generated_building001.png", - "meshPath": "resources/w/interior/Building_007.txt.bin", + "meshPath": "resources/w/interior/Building_008.txt", "rotationX": 0.0, "rotationY": 0.0, "rotationZ": 0.0, diff --git a/resources/config2/interactive_objects_uni_interior_x.json b/resources/config2/interactive_objects_uni_interior_x.json index c4790a2..2a29076 100644 --- a/resources/config2/interactive_objects_uni_interior_x.json +++ b/resources/config2/interactive_objects_uni_interior_x.json @@ -26,14 +26,14 @@ }, { "name": "Knife001", - "texturePath": "resources/w/white.png", - "meshPath": "resources/w/interior/Knife.txt.bin", + "texturePath": "resources/w/gg/Props.png", + "meshPath": "resources/w/interior/Knife_lay001_004.txt", "rotationX": 0.0, "rotationY": 0.0, "rotationZ": 0.0, - "positionX": -5.3964, - "positionY": 0.91414, - "positionZ": 2.54703, + "positionX": -4.8327, + "positionY": 0.9197, + "positionZ": 2.2418, "approachRadius": 1.4, "boundsMaxX": 0.30867958068847656, "boundsMaxY": 0.4, diff --git a/resources/config2/teleports_dorm.json b/resources/config2/teleports_dorm.json index 3605d41..ced1866 100644 --- a/resources/config2/teleports_dorm.json +++ b/resources/config2/teleports_dorm.json @@ -2,11 +2,11 @@ "teleports": [ { "id": "tp_dorm_to_loc2", - "positionX": -8.32343, + "positionX": -11.4, "positionY": 0.0, - "positionZ": -0.152264, + "positionZ": 0.0, "radius": 1.5, - "active": true, + "active": false, "destinationLocation": "uni_exterior", "destinationPositionX": -15.1939, "destinationPositionY": 0.0, diff --git a/resources/config2/teleports_uni_exterior.json b/resources/config2/teleports_uni_exterior.json index 9ebdda2..8899439 100644 --- a/resources/config2/teleports_uni_exterior.json +++ b/resources/config2/teleports_uni_exterior.json @@ -1,6 +1,19 @@ { "teleports": [ - { + { + "id": "tp_loc2_to_dorm", + "positionX": -15.8665, + "positionY": 0.0, + "positionZ": -36.85, + "radius": 5.0, + "active": false, + "destinationLocation": "location_dorm", + "destinationPositionX": -8.32343, + "destinationPositionY": 0.0, + "destinationPositionZ": -0.152264, + "destinationRotationY": 1.5708 + }, + { "id": "tp_loc2_to_loc1", "positionX": 8.2, "positionY": 0.0, @@ -12,19 +25,6 @@ "destinationPositionY": 0.0, "destinationPositionZ": -9.37259, "destinationRotationY": -1.5708 - }, - { - "id": "tp_loc2_to_dorm", - "positionX": -15.1939, - "positionY": 0.0, - "positionZ": -34.4107, - "radius": 5.0, - "active": true, - "destinationLocation": "location_dorm", - "destinationPositionX": -8.32343, - "destinationPositionY": 0.0, - "destinationPositionZ": -0.152264, - "destinationRotationY": 1.5708 } ] } diff --git a/resources/config2/trigger_zones_dorm.json b/resources/config2/trigger_zones_dorm.json index e88a670..1927e71 100644 --- a/resources/config2/trigger_zones_dorm.json +++ b/resources/config2/trigger_zones_dorm.json @@ -1,5 +1,14 @@ { "trigger_zones": [ + { + "id": "taxi_zone001", + "positionX": -8.32343, + "positionY": 0.0, + "positionZ": 0.0, + "radius": 3.0, + "hysteresis": 0.3, + "enabled": true + }, { "id": "pickup_phone_zone001", "positionX": 2.54938, diff --git a/resources/config2/trigger_zones_uni_exterior.json b/resources/config2/trigger_zones_uni_exterior.json index 89f1b42..3b53b96 100644 --- a/resources/config2/trigger_zones_uni_exterior.json +++ b/resources/config2/trigger_zones_uni_exterior.json @@ -1,5 +1,14 @@ { "trigger_zones": [ + { + "id": "taxi_zone001", + "positionX": -15.0359, + "positionY": 0.0, + "positionZ": -30.2937, + "radius": 4.0, + "hysteresis": 0.4, + "enabled": true + }, { "id": "darklands_exit001", "positionX": 11.747, diff --git a/resources/dialogue/ChoiceNormal001.png b/resources/dialogue/ChoiceNormal001.png new file mode 100644 index 0000000..0ccb9f0 --- /dev/null +++ b/resources/dialogue/ChoiceNormal001.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e01d89f561ab597856c35c280959f915b5b66753d389421e239539cc072d26ed +size 1269776 diff --git a/resources/dialogue/ChoiceSelected001.png b/resources/dialogue/ChoiceSelected001.png new file mode 100644 index 0000000..3ce3c27 --- /dev/null +++ b/resources/dialogue/ChoiceSelected001.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:142b7c8574f8ad6a54644752eb10bc0dcc73fe5e61ea3bd9f47a12773b0a31ee +size 1358039 diff --git a/resources/dialogue/DialogChoice001.png b/resources/dialogue/DialogChoice001.png new file mode 100644 index 0000000..56dce4c --- /dev/null +++ b/resources/dialogue/DialogChoice001.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3599742b7741676cd72b9fe77449205f805a76d3301a3f7888535edf1b53a94a +size 7789184 diff --git a/resources/start_dorm.lua b/resources/start_dorm.lua index 2d59039..c0e9739 100644 --- a/resources/start_dorm.lua +++ b/resources/start_dorm.lua @@ -89,6 +89,16 @@ game_api.set_trigger_zone_callbacks("ladder_zone001", nil ) +function taxi_zone001_enter_callback() +game_api.start_dialogue("dialog_taxi001") +game_api.call_tutorial_taxi_required() +end + +game_api.set_trigger_zone_callbacks("taxi_zone001", + taxi_zone001_enter_callback, + nil +) + function on_bed_sleep() if (not game_api.is_night()) then game_api.start_dialogue("dialog_no_sleep001") diff --git a/resources/test_cutscene001.png b/resources/test_cutscene001.png deleted file mode 100644 index cbb4a19..0000000 --- a/resources/test_cutscene001.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:10ef15fe6522e9dfff6335d3597da7732f8db8def185b01741a09bff5d2b7133 -size 1381545 diff --git a/resources/w/default_float001.anim b/resources/w/default_float001.anim deleted file mode 100644 index 960cb33..0000000 --- a/resources/w/default_float001.anim +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:707ddefd41efc47ea633bbf76aea21ddc6406c642897e1e8368c7ebe1a5d2352 -size 2769476 diff --git a/resources/w/default_float001_cut.anim b/resources/w/default_float001_cut.anim deleted file mode 100644 index d4e186f..0000000 --- a/resources/w/default_float001_cut.anim +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f80010e93603ba1a8a0c6320470e9c93044c1372b9ee1f4b5d87c69fa5f75022 -size 2745740 diff --git a/resources/w/default_idle002.anim b/resources/w/default_idle002.anim deleted file mode 100644 index 77a0257..0000000 --- a/resources/w/default_idle002.anim +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:39160fcbc65093094d11d9ff74421d9a2fe762a46ede56ad56beac0ee37c84c6 -size 2805080 diff --git a/resources/w/default_walk001.anim b/resources/w/default_walk001.anim deleted file mode 100644 index 4179651..0000000 --- a/resources/w/default_walk001.anim +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:cad2aaecbd7d0c5962a0a059b64cac59a1b39e7303b352510eae524dbd3ae960 -size 2789257 diff --git a/resources/w/float_attack003.anim b/resources/w/float_attack003.anim deleted file mode 100644 index 3668676..0000000 --- a/resources/w/float_attack003.anim +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0894a0d50ccc0eb2b384c6bf7982386712f5ffce6e1143ec8f9c791113a3548c -size 2797168 diff --git a/resources/w/float_attack003_cut.anim b/resources/w/float_attack003_cut.anim deleted file mode 100644 index d70a7ab..0000000 --- a/resources/w/float_attack003_cut.anim +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d6a5b3aeb4243d9b2897f0b45bff795a25b4f153e34b48bd9034b99b41813939 -size 2745740 diff --git a/resources/w/gg/Props.png b/resources/w/gg/Props.png new file mode 100644 index 0000000..24a4524 --- /dev/null +++ b/resources/w/gg/Props.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:162673a6f019621d1a2773f4982a47c9326574272d77128995c5805304bc2487 +size 15136 diff --git a/resources/w/gg/knife002.txt b/resources/w/gg/knife002.txt index fd15fef..d0eab36 100644 --- a/resources/w/gg/knife002.txt +++ b/resources/w/gg/knife002.txt @@ -1,64 +1,122 @@ ===Vertices (Split by UV/Normal): 41 -V 0: Pos(0.02, 0.15, 0.0) Norm(0.577338, 0.577356, -0.577357) UV(0.77503, 0.750033) -V 1: Pos(-0.02, -0.15, 0.0) Norm(-0.577338, -0.577356, -0.577357) UV(0.808365, 0.500022) -V 2: Pos(-0.02, 0.15, 0.0) Norm(-0.577347, 0.577357, -0.577347) UV(0.808365, 0.750033) -V 3: Pos(0.02, -0.15, 0.6) Norm(0.577338, -0.577356, 0.577357) UV(0.866701, 0.496276) -V 4: Pos(-0.02, 0.15, 0.6) Norm(-0.577338, 0.577356, 0.577357) UV(0.833366, 0.746287) -V 5: Pos(-0.02, -0.15, 0.6) Norm(-0.577347, -0.577357, 0.577347) UV(0.833366, 0.496276) -V 6: Pos(0.02, -0.15, 0.0) Norm(0.577347, -0.577357, -0.577347) UV(0.833366, 0.496276) -V 7: Pos(-0.02, -0.15, 0.6) Norm(-0.577347, -0.577357, 0.577347) UV(0.866701, 0.0) -V 8: Pos(-0.02, -0.15, 0.0) Norm(-0.577338, -0.577356, -0.577357) UV(0.866701, 0.496276) -V 9: Pos(0.02, 0.15, 0.0) Norm(0.577338, 0.577356, -0.577357) UV(0.500022, 0.5) -V 10: Pos(0.02, -0.15, 0.6) Norm(0.577338, -0.577356, 0.577357) UV(0.750033, 0.0) -V 11: Pos(0.02, -0.15, 0.0) Norm(0.577347, -0.577357, -0.577347) UV(0.750033, 0.5) -V 12: Pos(-0.02, 0.15, 0.0) Norm(-0.577347, 0.577357, -0.577347) UV(0.77503, 0.500022) -V 13: Pos(0.02, 0.15, 0.6) Norm(0.577347, 0.577357, 0.577347) UV(0.808365, 0.0) -V 14: Pos(0.02, 0.15, 0.0) Norm(0.577338, 0.577356, -0.577357) UV(0.808365, 0.500022) -V 15: Pos(-0.02, -0.15, 0.0) Norm(-0.577338, -0.577356, -0.577357) UV(0.500022, 1.0) -V 16: Pos(-0.02, 0.15, 0.6) Norm(-0.577338, 0.577356, 0.577357) UV(0.750033, 0.5) -V 17: Pos(-0.02, 0.15, 0.0) Norm(-0.577347, 0.577357, -0.577347) UV(0.750033, 1.0) -V 18: Pos(0.015, 0.15, 0.6) Norm(0.583227, 0.576373, -0.572398) UV(0.8667, 0.250011) -V 19: Pos(-0.015, -0.15, 0.6) Norm(-0.570792, -0.648582, -0.503526) UV(0.891702, 0.0) -V 20: Pos(-0.015, 0.15, 0.6) Norm(-0.583229, 0.576375, -0.572394) UV(0.891702, 0.250011) -V 21: Pos(0.0, 0.05, 1.4) Norm(0.0, -0.417006, 0.908904) UV(0.166674, 0.0) -V 22: Pos(-0.015, 0.15, 0.6) Norm(-0.583229, 0.576375, -0.572394) UV(0.250011, 0.666784) -V 23: Pos(-0.015, -0.15, 0.6) Norm(-0.570792, -0.648582, -0.503526) UV(0.0, 0.666784) -V 24: Pos(0.015, 0.15, 0.6) Norm(0.583227, 0.576373, -0.572398) UV(0.250011, 0.666784) -V 25: Pos(0.0, 0.05, 1.4) Norm(0.0, -0.417006, 0.908904) UV(0.333348, 0.0) -V 26: Pos(0.015, -0.15, 0.6) Norm(0.570794, -0.648585, -0.50352) UV(0.500022, 0.666784) -V 27: Pos(-0.015, -0.15, 0.6) Norm(-0.570792, -0.648582, -0.503526) UV(0.77503, 0.68218) -V 28: Pos(0.015, -0.15, 0.6) Norm(0.570794, -0.648585, -0.50352) UV(0.750033, 0.681722) -V 29: Pos(0.0, 0.05, 1.4) Norm(0.0, -0.417006, 0.908904) UV(0.77503, 0.0) -V 30: Pos(-0.015, 0.15, 0.6) Norm(-0.583229, 0.576375, -0.572394) UV(0.808365, 0.666696) -V 31: Pos(0.0, 0.15, 1.4) Norm(0.0, 0.536928, 0.843628) UV(0.820865, 0.0) -V 32: Pos(0.015, 0.15, 0.6) Norm(0.583227, 0.576373, -0.572398) UV(0.833366, 0.666696) -V 33: Pos(0.02, -0.15, 0.0) Norm(0.577347, -0.577357, -0.577347) UV(0.77503, 0.500022) -V 34: Pos(0.02, 0.15, 0.6) Norm(0.577347, 0.577357, 0.577347) UV(0.866701, 0.746287) -V 35: Pos(0.02, -0.15, 0.6) Norm(0.577338, -0.577356, 0.577357) UV(0.833366, 0.0) -V 36: Pos(0.02, 0.15, 0.6) Norm(0.577347, 0.577357, 0.577347) UV(0.500022, 0.0) -V 37: Pos(-0.02, 0.15, 0.6) Norm(-0.577338, 0.577356, 0.577357) UV(0.77503, 0.0) -V 38: Pos(-0.02, -0.15, 0.6) Norm(-0.577347, -0.577357, 0.577347) UV(0.500022, 0.5) -V 39: Pos(0.015, -0.15, 0.6) Norm(0.570794, -0.648585, -0.50352) UV(0.8667, 0.0) -V 40: Pos(0.0, 0.15, 1.4) Norm(0.0, 0.536928, 0.843628) UV(0.250011, 0.0) +V 0: Pos(-0.0, 5.7e-05, 1.422173) Norm(-1e-06, 0.920107, -0.391668) UV(0.038153, 0.92737) +V 1: Pos(0.006128, 0.050084, 1.443607) Norm(-0.613997, -0.475616, -0.629919) UV(0.028605, 0.949655) +V 2: Pos(0.012645, 0.059427, 1.417791) Norm(-0.739205, -0.650575, -0.174149) UV(0.040105, 0.953817) +V 3: Pos(-0.012645, 0.055039, 1.259587) Norm(0.754845, -0.655796, 0.011846) UV(0.125898, 0.952246) +V 4: Pos(-0.0, -0.055404, 1.081773) Norm(0.0, 0.999104, -0.042318) UV(0.213822, 0.894469) +V 5: Pos(-0.012645, 0.048755, 1.056192) Norm(0.751649, -0.659466, 0.011364) UV(0.228705, 0.94907) +V 6: Pos(-0.0, -0.035523, 1.289999) Norm(3.6e-05, 0.994157, -0.107942) UV(0.110526, 0.906471) +V 7: Pos(0.012645, 0.055039, 1.259587) Norm(-0.754852, -0.655789, 0.011835) UV(0.125898, 0.952246) +V 8: Pos(-0.0, -0.040301, 0.610075) Norm(-5e-06, 0.999715, 0.023859) UV(0.56615, 0.898857) +V 9: Pos(-0.012645, 0.046268, 0.747854) Norm(0.744681, -0.666628, 0.032518) UV(0.479093, 0.952662) +V 10: Pos(-0.0, -0.060482, 0.826058) Norm(-2e-05, 1.0, -0.000105) UV(0.435536, 0.894543) +V 11: Pos(0.012645, 0.024541, 0.589224) Norm(-0.69335, -0.554504, -0.460207) UV(0.577483, 0.934099) +V 12: Pos(0.033736, -0.04134, 0.575821) Norm(-0.685444, 0.61818, -0.384734) UV(0.584767, 0.898292) +V 13: Pos(-0.0, -0.027796, 0.590145) Norm(-1e-06, 0.464145, -0.885759) UV(0.576982, 0.905654) +V 14: Pos(0.033736, 0.038391, 0.573675) Norm(-0.663441, -0.642047, -0.384215) UV(0.585933, 0.941626) +V 15: Pos(0.01579, -0.032919, 0.44085) Norm(-0.700722, 0.712907, 0.02741) UV(0.657157, 0.899274) +V 16: Pos(-0.01579, -0.032919, 0.44085) Norm(0.700728, 0.712902, 0.027411) UV(0.657157, 0.899274) +V 17: Pos(-0.033736, 0.061479, 0.067748) Norm(0.672517, -0.736572, 0.071992) UV(0.917476, 0.96461) +V 18: Pos(-0.01579, 0.032786, 0.440702) Norm(0.699372, -0.714536, 0.017816) UV(0.657245, 0.938479) +V 19: Pos(0.033736, 0.015689, 0.000187) Norm(-0.633407, -0.291172, 0.716948) UV(0.960945, 0.935148) +V 20: Pos(0.033736, -0.050242, 0.031808) Norm(-0.651358, 0.646109, 0.39784) UV(0.9406, 0.892727) +V 21: Pos(0.033736, 0.050242, 0.033003) Norm(-0.655582, -0.638984, 0.402383) UV(0.939831, 0.95738) +V 22: Pos(0.033736, -0.060156, 0.066285) Norm(-0.675813, 0.734528, 0.06121) UV(0.918417, 0.886348) +V 23: Pos(0.033736, 0.061479, 0.067748) Norm(-0.672518, -0.736571, 0.071989) UV(0.917476, 0.96461) +V 24: Pos(0.012645, 0.036314, 0.610368) Norm(-0.709435, -0.664321, 0.23533) UV(0.56599, 0.940497) +V 25: Pos(0.012645, 0.048755, 1.056192) Norm(-0.751669, -0.659443, 0.011334) UV(0.228705, 0.94907) +V 26: Pos(-0.006128, 0.050084, 1.443607) Norm(0.613972, -0.47558, -0.62997) UV(0.028605, 0.949655) +V 27: Pos(-0.0, 0.024599, 1.452407) Norm(0.0, 0.481298, -0.876557) UV(0.024685, 0.938303) +V 28: Pos(-0.012645, 0.059427, 1.417791) Norm(0.739204, -0.650577, -0.174146) UV(0.040105, 0.953817) +V 29: Pos(0.012645, 0.046268, 0.747854) Norm(-0.744639, -0.666672, 0.032574) UV(0.479093, 0.952662) +V 30: Pos(-0.012645, 0.036314, 0.610368) Norm(0.709441, -0.664317, 0.235322) UV(0.56599, 0.940497) +V 31: Pos(-0.033736, -0.04134, 0.575821) Norm(0.685442, 0.618181, -0.384735) UV(0.584767, 0.898292) +V 32: Pos(-0.012645, 0.024541, 0.589224) Norm(0.693361, -0.554513, -0.46018) UV(0.577483, 0.934099) +V 33: Pos(-0.033736, 0.038391, 0.573675) Norm(0.66347, -0.642006, -0.384234) UV(0.585933, 0.941626) +V 34: Pos(0.01579, 0.032786, 0.440702) Norm(-0.69943, -0.71448, 0.017777) UV(0.657245, 0.938479) +V 35: Pos(-0.033736, -0.050242, 0.031808) Norm(0.651349, 0.646115, 0.397844) UV(0.9406, 0.892727) +V 36: Pos(-0.033736, 0.015689, 0.000187) Norm(0.633403, -0.291164, 0.716954) UV(0.960945, 0.935148) +V 37: Pos(-0.033736, 0.050242, 0.033003) Norm(0.655581, -0.638982, 0.402387) UV(0.939831, 0.95738) +V 38: Pos(-0.033736, -0.060156, 0.066285) Norm(0.67582, 0.734521, 0.061209) UV(0.918417, 0.886348) +V 39: Pos(-0.033736, -0.015689, -0.000187) Norm(0.632466, 0.278334, 0.722853) UV(0.961186, 0.914959) +V 40: Pos(0.033736, -0.015689, -0.000187) Norm(-0.632455, 0.278335, 0.722863) UV(0.961186, 0.914959) -===Triangles (Indices): 20 +===Triangles (Indices): 78 Tri: 0 1 2 Tri: 3 4 5 -Tri: 6 7 8 -Tri: 9 10 11 -Tri: 12 13 14 -Tri: 15 16 17 -Tri: 18 19 20 +Tri: 6 2 7 +Tri: 8 9 10 +Tri: 11 12 13 +Tri: 14 15 12 +Tri: 16 17 18 +Tri: 19 20 21 Tri: 21 22 23 -Tri: 24 25 26 -Tri: 27 28 29 -Tri: 30 31 32 -Tri: 0 33 1 -Tri: 3 34 4 -Tri: 6 35 7 -Tri: 9 36 10 -Tri: 12 37 13 -Tri: 15 38 16 -Tri: 18 39 19 -Tri: 21 40 22 -Tri: 24 40 25 +Tri: 24 13 8 +Tri: 25 10 4 +Tri: 0 26 27 +Tri: 6 28 0 +Tri: 29 30 24 +Tri: 31 32 13 +Tri: 16 33 31 +Tri: 17 34 18 +Tri: 35 36 37 +Tri: 38 37 17 +Tri: 13 30 8 +Tri: 10 5 4 +Tri: 12 16 31 +Tri: 38 15 22 +Tri: 2 3 7 +Tri: 8 29 24 +Tri: 25 9 29 +Tri: 23 15 34 +Tri: 1 27 26 +Tri: 19 39 40 +Tri: 23 37 21 +Tri: 4 7 25 +Tri: 1 28 2 +Tri: 40 35 20 +Tri: 24 32 11 +Tri: 7 5 25 +Tri: 19 37 36 +Tri: 20 38 22 +Tri: 13 12 31 +Tri: 14 18 34 +Tri: 11 33 14 +Tri: 0 27 1 +Tri: 3 6 4 +Tri: 6 0 2 +Tri: 8 30 9 +Tri: 11 14 12 +Tri: 14 34 15 +Tri: 16 38 17 +Tri: 19 40 20 +Tri: 21 20 22 +Tri: 24 11 13 +Tri: 25 29 10 +Tri: 0 28 26 +Tri: 6 3 28 +Tri: 29 9 30 +Tri: 31 33 32 +Tri: 16 18 33 +Tri: 17 23 34 +Tri: 35 39 36 +Tri: 38 35 37 +Tri: 13 32 30 +Tri: 10 9 5 +Tri: 12 15 16 +Tri: 38 16 15 +Tri: 2 28 3 +Tri: 8 10 29 +Tri: 25 5 9 +Tri: 23 22 15 +Tri: 19 36 39 +Tri: 23 17 37 +Tri: 4 6 7 +Tri: 1 26 28 +Tri: 40 39 35 +Tri: 24 30 32 +Tri: 7 3 5 +Tri: 19 21 37 +Tri: 20 35 38 +Tri: 14 33 18 +Tri: 11 32 33 diff --git a/resources/w/ghost_skin001.png b/resources/w/ghost_skin001.png deleted file mode 100644 index 924bb8f..0000000 --- a/resources/w/ghost_skin001.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:375ba5f460171ffc15cf991ad311ec1784fcc7daf4cb4194c15203cfcee0c440 -size 58913 diff --git a/resources/w/ghost_skin002.png b/resources/w/ghost_skin002.png deleted file mode 100644 index 730c4c3..0000000 --- a/resources/w/ghost_skin002.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3ea2f2e1631be1da1c82c5ae2234e9ddf219e2e83033100f0cd6f66ba8f5e833 -size 75834 diff --git a/resources/w/interior/Building_008.txt b/resources/w/interior/Building_008.txt new file mode 100644 index 0000000..6e6ef3a --- /dev/null +++ b/resources/w/interior/Building_008.txt @@ -0,0 +1,1819 @@ +===Vertices (Split by UV/Normal): 1063 +V 0: Pos(-16.1, -6.1, 7.5) Norm(-0.57735, -0.57735, 0.57735) UV(0.0, 0.897541) +V 1: Pos(-16.1, 6.1, 0.0) Norm(-0.57735, 0.57735, -0.57735) UV(0.153689, 0.647541) +V 2: Pos(-16.1, -6.1, 0.0) Norm(-0.577346, -0.577354, -0.577351) UV(0.153689, 0.897541) +V 3: Pos(-16.1, 6.1, 7.5) Norm(-0.577346, 0.577354, 0.577351) UV(0.954918, 0.651639) +V 4: Pos(-15.9, 6.1, 0.0) Norm(0.577346, 0.577354, -0.577351) UV(0.959017, 0.805328) +V 5: Pos(-16.1, 6.1, 0.0) Norm(-0.57735, 0.57735, -0.57735) UV(0.954918, 0.805328) +V 6: Pos(-15.9, 6.1, 7.5) Norm(0.57735, 0.57735, 0.57735) UV(0.237705, 0.901639) +V 7: Pos(-15.9, -6.1, 0.0) Norm(0.57735, -0.57735, -0.57735) UV(0.391394, 0.651639) +V 8: Pos(-15.9, 6.1, 0.0) Norm(0.577346, 0.577354, -0.577351) UV(0.391394, 0.901639) +V 9: Pos(-15.9, -6.1, 7.5) Norm(0.577346, -0.577354, 0.577351) UV(0.954918, 0.805328) +V 10: Pos(-16.1, -6.1, 0.0) Norm(-0.577346, -0.577354, -0.577351) UV(0.959017, 0.959016) +V 11: Pos(-15.9, -6.1, 0.0) Norm(0.57735, -0.57735, -0.57735) UV(0.954918, 0.959016) +V 12: Pos(-15.9, 6.1, 0.0) Norm(0.577346, 0.577354, -0.577351) UV(0.204918, 0.897541) +V 13: Pos(-16.1, -6.1, 0.0) Norm(-0.577346, -0.577354, -0.577351) UV(0.209016, 0.647541) +V 14: Pos(-16.1, 6.1, 0.0) Norm(-0.57735, 0.57735, -0.57735) UV(0.209016, 0.897541) +V 15: Pos(-16.1, 6.1, 7.5) Norm(-0.577346, 0.577354, 0.577351) UV(0.209016, 0.897541) +V 16: Pos(-15.9, -6.1, 7.5) Norm(0.577346, -0.577354, 0.577351) UV(0.213115, 0.647541) +V 17: Pos(-15.9, 6.1, 7.5) Norm(0.57735, 0.57735, 0.57735) UV(0.213115, 0.897541) +V 18: Pos(-15.9, 5.9, 7.5) Norm(-0.577366, -0.577327, 0.577358) UV(0.233607, 0.647541) +V 19: Pos(-15.9, 6.1, 0.0) Norm(-0.577396, 0.577268, -0.577388) UV(0.237705, 0.801229) +V 20: Pos(-15.9, 5.9, 0.0) Norm(-0.57739, -0.577271, -0.57739) UV(0.233607, 0.801229) +V 21: Pos(-15.9, 6.1, 7.5) Norm(-0.577361, 0.57733, 0.57736) UV(0.698771, 0.651639) +V 22: Pos(-15.425, 6.1, 5.8) Norm(0.301512, 0.904533, 0.301514) UV(0.733607, 0.641906) +V 23: Pos(-15.9, 6.1, 0.0) Norm(-0.577396, 0.577268, -0.577388) UV(0.852459, 0.651639) +V 24: Pos(-2.175, 6.1, 7.075) Norm(0.301507, 0.904537, -0.301507) UV(0.70748, 0.370389) +V 25: Pos(-0.675, 6.1, 7.075) Norm(-0.301509, 0.904535, -0.301512) UV(0.70748, 0.339652) +V 26: Pos(15.9, 6.1, 0.0) Norm(0.577389, 0.577273, -0.577388) UV(0.852459, 0.0) +V 27: Pos(0.475, 6.1, 5.8) Norm(0.301516, 0.904531, 0.301518) UV(0.733607, 0.316086) +V 28: Pos(1.975, 6.1, 5.8) Norm(-0.301507, 0.904537, 0.301507) UV(0.733607, 0.285348) +V 29: Pos(15.9, 6.1, 7.5) Norm(0.577364, 0.577331, 0.577356) UV(0.698771, -0.0) +V 30: Pos(13.725, 6.1, 7.075) Norm(0.301511, 0.904533, -0.301513) UV(0.70748, 0.04457) +V 31: Pos(12.575001, 6.1, 7.075) Norm(-0.301505, 0.904537, -0.301508) UV(0.70748, 0.068135) +V 32: Pos(7.275, 6.1, 5.8) Norm(-0.301507, 0.904537, 0.301508) UV(0.733607, 0.176742) +V 33: Pos(8.424999, 6.1, 7.075) Norm(0.301507, 0.904536, -0.301511) UV(0.70748, 0.153176) +V 34: Pos(8.424999, 6.1, 5.8) Norm(0.301509, 0.904534, 0.301512) UV(0.733607, 0.153176) +V 35: Pos(4.625, 6.1, 5.8) Norm(-0.301507, 0.904537, 0.301507) UV(0.733607, 0.231045) +V 36: Pos(5.775, 6.1, 7.075) Norm(0.301507, 0.904538, -0.301503) UV(0.70748, 0.20748) +V 37: Pos(5.775, 6.1, 5.8) Norm(0.301509, 0.904535, 0.301511) UV(0.733607, 0.20748) +V 38: Pos(3.125, 6.1, 7.075) Norm(0.301507, 0.904536, -0.301511) UV(0.70748, 0.261783) +V 39: Pos(3.125, 6.1, 5.8) Norm(0.301509, 0.904535, 0.301512) UV(0.733607, 0.261783) +V 40: Pos(-0.675, 6.1, 5.8) Norm(-0.301507, 0.904537, 0.301507) UV(0.733607, 0.339652) +V 41: Pos(0.475, 6.1, 7.075) Norm(0.301507, 0.904537, -0.301508) UV(0.70748, 0.316086) +V 42: Pos(-3.325, 6.1, 5.8) Norm(-0.301507, 0.904537, 0.301508) UV(0.733607, 0.393955) +V 43: Pos(-2.175, 6.1, 5.8) Norm(0.301509, 0.904535, 0.301512) UV(0.733607, 0.370389) +V 44: Pos(-5.975, 6.1, 5.8) Norm(-0.301507, 0.904537, 0.301507) UV(0.733607, 0.448258) +V 45: Pos(-4.825, 6.1, 7.075) Norm(0.301507, 0.904537, -0.301507) UV(0.70748, 0.424693) +V 46: Pos(-4.825, 6.1, 5.8) Norm(0.301509, 0.904535, 0.301512) UV(0.733607, 0.424693) +V 47: Pos(-8.625, 6.1, 5.8) Norm(-0.301507, 0.904537, 0.301507) UV(0.733607, 0.502561) +V 48: Pos(-7.475, 6.1, 7.075) Norm(0.301507, 0.904537, -0.301507) UV(0.70748, 0.478996) +V 49: Pos(-7.475, 6.1, 5.8) Norm(0.301509, 0.904535, 0.301512) UV(0.733607, 0.478996) +V 50: Pos(-11.275, 6.1, 5.8) Norm(-0.301507, 0.904537, 0.301507) UV(0.733607, 0.556865) +V 51: Pos(-10.125, 6.1, 7.075) Norm(0.301506, 0.904535, -0.301513) UV(0.70748, 0.533299) +V 52: Pos(-10.125, 6.1, 5.8) Norm(0.301509, 0.904535, 0.301512) UV(0.733607, 0.533299) +V 53: Pos(-13.925, 6.1, 5.8) Norm(-0.301507, 0.904537, 0.301507) UV(0.733607, 0.611168) +V 54: Pos(-12.775, 6.1, 7.075) Norm(0.301507, 0.904537, -0.301507) UV(0.70748, 0.587602) +V 55: Pos(-12.775, 6.1, 5.8) Norm(0.301509, 0.904535, 0.301512) UV(0.733607, 0.587602) +V 56: Pos(15.9, 6.1, 7.5) Norm(0.577364, 0.577331, 0.577356) UV(0.233607, 0.801229) +V 57: Pos(15.9, 5.9, 0.0) Norm(0.577394, -0.57727, -0.577386) UV(0.237705, 0.954918) +V 58: Pos(15.9, 6.1, 0.0) Norm(0.577389, 0.577273, -0.577388) UV(0.233607, 0.954918) +V 59: Pos(-15.9, 5.9, 7.5) Norm(-0.577366, -0.577327, 0.577358) UV(0.237705, -0.0) +V 60: Pos(-15.425, 5.9, 5.8) Norm(0.301514, -0.904532, 0.301514) UV(0.272541, 0.009734) +V 61: Pos(-15.425, 5.9, 7.075) Norm(0.301514, -0.904531, -0.301518) UV(0.246414, 0.009734) +V 62: Pos(15.9, 5.9, 0.0) Norm(0.577394, -0.57727, -0.577386) UV(0.391394, 0.651639) +V 63: Pos(1.975, 5.9, 5.8) Norm(-0.301509, -0.904535, 0.301511) UV(0.272541, 0.366291) +V 64: Pos(0.475, 5.9, 5.8) Norm(0.301513, -0.904533, 0.301513) UV(0.272541, 0.335553) +V 65: Pos(15.9, 5.9, 7.5) Norm(0.577359, -0.577334, 0.577358) UV(0.237705, 0.651639) +V 66: Pos(0.475, 5.9, 7.075) Norm(0.301509, -0.904534, -0.301512) UV(0.246414, 0.335553) +V 67: Pos(1.975, 5.9, 7.075) Norm(-0.301508, -0.90454, -0.301497) UV(0.246414, 0.366291) +V 68: Pos(9.924999, 5.9, 7.075) Norm(-0.301507, -0.904537, -0.301507) UV(0.246414, 0.529201) +V 69: Pos(11.075001, 5.9, 5.8) Norm(0.301507, -0.904537, 0.301507) UV(0.272541, 0.552766) +V 70: Pos(11.075001, 5.9, 7.075) Norm(0.301509, -0.904535, -0.301512) UV(0.246414, 0.552766) +V 71: Pos(7.275, 5.9, 7.075) Norm(-0.301506, -0.904535, -0.301514) UV(0.246414, 0.474898) +V 72: Pos(8.424999, 5.9, 5.8) Norm(0.301507, -0.904537, 0.301508) UV(0.272541, 0.498463) +V 73: Pos(8.424999, 5.9, 7.075) Norm(0.301508, -0.904532, -0.30152) UV(0.246414, 0.498463) +V 74: Pos(4.625, 5.9, 7.075) Norm(-0.301507, -0.904537, -0.301507) UV(0.246414, 0.420594) +V 75: Pos(5.775, 5.9, 5.8) Norm(0.301507, -0.904537, 0.301507) UV(0.272541, 0.44416) +V 76: Pos(5.775, 5.9, 7.075) Norm(0.30151, -0.904537, -0.301504) UV(0.246414, 0.44416) +V 77: Pos(3.125, 5.9, 5.8) Norm(0.301507, -0.904537, 0.301508) UV(0.272541, 0.389857) +V 78: Pos(3.125, 5.9, 7.075) Norm(0.301509, -0.904535, -0.301512) UV(0.246414, 0.389857) +V 79: Pos(-0.675, 5.9, 7.075) Norm(-0.301507, -0.904537, -0.301507) UV(0.246414, 0.311988) +V 80: Pos(-3.325, 5.9, 7.075) Norm(-0.301508, -0.904541, -0.301494) UV(0.246414, 0.257684) +V 81: Pos(-2.175, 5.9, 5.8) Norm(0.301507, -0.904537, 0.301507) UV(0.272541, 0.28125) +V 82: Pos(-2.175, 5.9, 7.075) Norm(0.301509, -0.904534, -0.301515) UV(0.246414, 0.28125) +V 83: Pos(-5.975, 5.9, 7.075) Norm(-0.301507, -0.904537, -0.301507) UV(0.246414, 0.203381) +V 84: Pos(-4.825, 5.9, 5.8) Norm(0.301507, -0.904537, 0.301507) UV(0.272541, 0.226947) +V 85: Pos(-4.825, 5.9, 7.075) Norm(0.301509, -0.904534, -0.301515) UV(0.246414, 0.226947) +V 86: Pos(-8.625, 5.9, 7.075) Norm(-0.301507, -0.904538, -0.301503) UV(0.246414, 0.149078) +V 87: Pos(-7.475, 5.9, 5.8) Norm(0.301507, -0.904537, 0.301507) UV(0.272541, 0.172643) +V 88: Pos(-7.475, 5.9, 7.075) Norm(0.301509, -0.904534, -0.301515) UV(0.246414, 0.172643) +V 89: Pos(-11.275, 5.9, 7.075) Norm(-0.301507, -0.904537, -0.301507) UV(0.246414, 0.094775) +V 90: Pos(-10.125, 5.9, 5.8) Norm(0.301507, -0.904537, 0.301508) UV(0.272541, 0.11834) +V 91: Pos(-10.125, 5.9, 7.075) Norm(0.301509, -0.904534, -0.301515) UV(0.246414, 0.11834) +V 92: Pos(-13.925, 5.9, 7.075) Norm(-0.301507, -0.904537, -0.301507) UV(0.246414, 0.040471) +V 93: Pos(-12.775, 5.9, 5.8) Norm(0.301507, -0.904537, 0.301507) UV(0.272541, 0.064037) +V 94: Pos(-12.775, 5.9, 7.075) Norm(0.301509, -0.904535, -0.301512) UV(0.246414, 0.064037) +V 95: Pos(15.9, 6.1, 0.0) Norm(0.577389, 0.577273, -0.577388) UV(0.959017, 0.651639) +V 96: Pos(-15.9, 5.9, 0.0) Norm(-0.57739, -0.577271, -0.57739) UV(0.954919, 0.0) +V 97: Pos(-15.9, 6.1, 0.0) Norm(-0.577396, 0.577268, -0.577388) UV(0.959017, 0.0) +V 98: Pos(-15.9, 6.1, 7.5) Norm(-0.577361, 0.57733, 0.57736) UV(0.963115, 0.651639) +V 99: Pos(15.9, 5.9, 7.5) Norm(0.577359, -0.577334, 0.577358) UV(0.959017, 0.0) +V 100: Pos(15.9, 6.1, 7.5) Norm(0.577364, 0.577331, 0.577356) UV(0.963115, 0.0) +V 101: Pos(-15.425, 6.1, 5.8) Norm(0.301512, 0.904533, 0.301514) UV(0.581967, 0.978996) +V 102: Pos(-15.425, 5.9, 7.075) Norm(0.301514, -0.904531, -0.301518) UV(0.586066, 0.952869) +V 103: Pos(-15.425, 5.9, 5.8) Norm(0.301514, -0.904532, 0.301514) UV(0.586066, 0.978996) +V 104: Pos(-13.925, 6.1, 7.075) Norm(-0.301509, 0.904535, -0.301512) UV(0.590164, 0.952869) +V 105: Pos(-13.925, 5.9, 5.8) Norm(-0.301509, -0.904535, 0.301512) UV(0.586066, 0.978996) +V 106: Pos(-13.925, 5.9, 7.075) Norm(-0.301507, -0.904537, -0.301507) UV(0.586066, 0.952869) +V 107: Pos(-13.925, 6.1, 5.8) Norm(-0.301507, 0.904537, 0.301507) UV(0.663935, 0.932377) +V 108: Pos(-15.425, 5.9, 5.8) Norm(0.301514, -0.904532, 0.301514) UV(0.659836, 0.963115) +V 109: Pos(-13.925, 5.9, 5.8) Norm(-0.301509, -0.904535, 0.301512) UV(0.659836, 0.932377) +V 110: Pos(-13.925, 6.1, 7.075) Norm(-0.301509, 0.904535, -0.301512) UV(0.668033, 0.963115) +V 111: Pos(-15.425, 5.9, 7.075) Norm(0.301514, -0.904531, -0.301518) UV(0.663935, 0.932377) +V 112: Pos(-15.425, 6.1, 7.075) Norm(0.301516, 0.904531, -0.301517) UV(0.668033, 0.932377) +V 113: Pos(-12.775, 6.1, 5.8) Norm(0.301509, 0.904535, 0.301512) UV(0.590164, 0.978996) +V 114: Pos(-12.775, 5.9, 7.075) Norm(0.301509, -0.904535, -0.301512) UV(0.594262, 0.952869) +V 115: Pos(-12.775, 5.9, 5.8) Norm(0.301507, -0.904537, 0.301507) UV(0.594262, 0.978996) +V 116: Pos(-11.275, 6.1, 7.075) Norm(-0.301509, 0.904535, -0.301512) UV(0.598361, 0.952869) +V 117: Pos(-11.275, 5.9, 5.8) Norm(-0.301509, -0.904535, 0.301512) UV(0.594263, 0.978996) +V 118: Pos(-11.275, 5.9, 7.075) Norm(-0.301507, -0.904537, -0.301507) UV(0.594263, 0.952869) +V 119: Pos(-11.275, 6.1, 5.8) Norm(-0.301507, 0.904537, 0.301507) UV(0.672132, 0.932377) +V 120: Pos(-12.775, 5.9, 5.8) Norm(0.301507, -0.904537, 0.301507) UV(0.668033, 0.963115) +V 121: Pos(-11.275, 5.9, 5.8) Norm(-0.301509, -0.904535, 0.301512) UV(0.668033, 0.932377) +V 122: Pos(-11.275, 6.1, 7.075) Norm(-0.301509, 0.904535, -0.301512) UV(0.67623, 0.963115) +V 123: Pos(-12.775, 5.9, 7.075) Norm(0.301509, -0.904535, -0.301512) UV(0.672132, 0.932377) +V 124: Pos(-12.775, 6.1, 7.075) Norm(0.301507, 0.904537, -0.301507) UV(0.67623, 0.932377) +V 125: Pos(-10.125, 6.1, 5.8) Norm(0.301509, 0.904535, 0.301512) UV(0.233607, 0.981045) +V 126: Pos(-10.125, 5.9, 7.075) Norm(0.301509, -0.904534, -0.301515) UV(0.237705, 0.954918) +V 127: Pos(-10.125, 5.9, 5.8) Norm(0.301507, -0.904537, 0.301508) UV(0.237705, 0.981045) +V 128: Pos(-8.625, 6.1, 7.075) Norm(-0.301509, 0.904535, -0.301512) UV(0.959017, 0.959016) +V 129: Pos(-8.625, 5.9, 5.8) Norm(-0.301509, -0.904535, 0.301512) UV(0.954918, 0.985143) +V 130: Pos(-8.625, 5.9, 7.075) Norm(-0.301507, -0.904538, -0.301503) UV(0.954918, 0.959016) +V 131: Pos(-8.625, 6.1, 5.8) Norm(-0.301507, 0.904537, 0.301507) UV(0.229508, 0.862705) +V 132: Pos(-10.125, 5.9, 5.8) Norm(0.301507, -0.904537, 0.301508) UV(0.22541, 0.893443) +V 133: Pos(-8.625, 5.9, 5.8) Norm(-0.301509, -0.904535, 0.301512) UV(0.22541, 0.862705) +V 134: Pos(-8.625, 6.1, 7.075) Norm(-0.301509, 0.904535, -0.301512) UV(0.659837, 0.932377) +V 135: Pos(-10.125, 5.9, 7.075) Norm(0.301509, -0.904534, -0.301515) UV(0.655738, 0.901639) +V 136: Pos(-10.125, 6.1, 7.075) Norm(0.301506, 0.904535, -0.301513) UV(0.659837, 0.901639) +V 137: Pos(-7.475, 6.1, 5.8) Norm(0.301509, 0.904535, 0.301512) UV(0.959017, 0.985143) +V 138: Pos(-7.475, 5.9, 7.075) Norm(0.301509, -0.904534, -0.301515) UV(0.963115, 0.959016) +V 139: Pos(-7.475, 5.9, 5.8) Norm(0.301507, -0.904537, 0.301507) UV(0.963115, 0.985143) +V 140: Pos(-5.975, 6.1, 7.075) Norm(-0.301509, 0.904535, -0.301512) UV(0.979509, 0.959016) +V 141: Pos(-5.975, 5.9, 5.8) Norm(-0.301509, -0.904535, 0.301512) UV(0.975411, 0.985143) +V 142: Pos(-5.975, 5.9, 7.075) Norm(-0.301507, -0.904537, -0.301507) UV(0.975411, 0.959016) +V 143: Pos(-5.975, 6.1, 5.8) Norm(-0.301507, 0.904537, 0.301507) UV(0.680328, 0.932377) +V 144: Pos(-7.475, 5.9, 5.8) Norm(0.301507, -0.904537, 0.301507) UV(0.67623, 0.963115) +V 145: Pos(-5.975, 5.9, 5.8) Norm(-0.301509, -0.904535, 0.301512) UV(0.67623, 0.932377) +V 146: Pos(-5.975, 6.1, 7.075) Norm(-0.301509, 0.904535, -0.301512) UV(0.684427, 0.963115) +V 147: Pos(-7.475, 5.9, 7.075) Norm(0.301509, -0.904534, -0.301515) UV(0.680328, 0.932377) +V 148: Pos(-7.475, 6.1, 7.075) Norm(0.301507, 0.904537, -0.301507) UV(0.684427, 0.932377) +V 149: Pos(-4.825, 6.1, 5.8) Norm(0.301509, 0.904535, 0.301512) UV(0.967214, 0.987193) +V 150: Pos(-4.825, 5.9, 7.075) Norm(0.301509, -0.904534, -0.301515) UV(0.971312, 0.961066) +V 151: Pos(-4.825, 5.9, 5.8) Norm(0.301507, -0.904537, 0.301507) UV(0.971312, 0.987193) +V 152: Pos(-3.325, 6.1, 7.075) Norm(-0.301509, 0.904535, -0.301512) UV(0.987706, 0.0) +V 153: Pos(-3.325, 5.9, 5.8) Norm(-0.301509, -0.904535, 0.30151) UV(0.983607, 0.026127) +V 154: Pos(-3.325, 5.9, 7.075) Norm(-0.301508, -0.904541, -0.301494) UV(0.983607, 0.0) +V 155: Pos(-3.325, 6.1, 5.8) Norm(-0.301507, 0.904537, 0.301508) UV(0.688525, 0.932377) +V 156: Pos(-4.825, 5.9, 5.8) Norm(0.301507, -0.904537, 0.301507) UV(0.684427, 0.963115) +V 157: Pos(-3.325, 5.9, 5.8) Norm(-0.301509, -0.904535, 0.30151) UV(0.684427, 0.932377) +V 158: Pos(-3.325, 6.1, 7.075) Norm(-0.301509, 0.904535, -0.301512) UV(0.692623, 0.963115) +V 159: Pos(-4.825, 5.9, 7.075) Norm(0.301509, -0.904534, -0.301515) UV(0.688525, 0.932377) +V 160: Pos(-4.825, 6.1, 7.075) Norm(0.301507, 0.904537, -0.301507) UV(0.692623, 0.932377) +V 161: Pos(-2.175, 6.1, 5.8) Norm(0.301509, 0.904535, 0.301512) UV(0.983607, 0.052254) +V 162: Pos(-2.175, 5.9, 7.075) Norm(0.301509, -0.904534, -0.301515) UV(0.987706, 0.026127) +V 163: Pos(-2.175, 5.9, 5.8) Norm(0.301507, -0.904537, 0.301507) UV(0.987706, 0.052254) +V 164: Pos(-0.675, 6.1, 7.075) Norm(-0.301509, 0.904535, -0.301512) UV(0.987706, 0.052254) +V 165: Pos(-0.675, 5.9, 5.8) Norm(-0.301509, -0.904535, 0.301512) UV(0.983607, 0.078381) +V 166: Pos(-0.675, 5.9, 7.075) Norm(-0.301507, -0.904537, -0.301507) UV(0.983607, 0.052254) +V 167: Pos(-0.675, 6.1, 5.8) Norm(-0.301507, 0.904537, 0.301507) UV(0.696722, 0.932377) +V 168: Pos(-2.175, 5.9, 5.8) Norm(0.301507, -0.904537, 0.301507) UV(0.692624, 0.963115) +V 169: Pos(-0.675, 5.9, 5.8) Norm(-0.301509, -0.904535, 0.301512) UV(0.692624, 0.932377) +V 170: Pos(-0.675, 6.1, 7.075) Norm(-0.301509, 0.904535, -0.301512) UV(0.971312, 0.961065) +V 171: Pos(-2.175, 5.9, 7.075) Norm(0.301509, -0.904534, -0.301515) UV(0.967214, 0.930328) +V 172: Pos(-2.175, 6.1, 7.075) Norm(0.301507, 0.904537, -0.301507) UV(0.971312, 0.930328) +V 173: Pos(0.475, 6.1, 5.8) Norm(0.301516, 0.904531, 0.301518) UV(0.983607, 0.104508) +V 174: Pos(0.475, 5.9, 7.075) Norm(0.301509, -0.904534, -0.301512) UV(0.987706, 0.078381) +V 175: Pos(0.475, 5.9, 5.8) Norm(0.301513, -0.904533, 0.301513) UV(0.987706, 0.104508) +V 176: Pos(1.975, 6.1, 7.075) Norm(-0.30151, 0.904537, -0.301502) UV(0.987706, 0.104508) +V 177: Pos(1.975, 5.9, 5.8) Norm(-0.301509, -0.904535, 0.301511) UV(0.983607, 0.130635) +V 178: Pos(1.975, 5.9, 7.075) Norm(-0.301508, -0.90454, -0.301497) UV(0.983607, 0.104508) +V 179: Pos(1.975, 6.1, 5.8) Norm(-0.301507, 0.904537, 0.301507) UV(0.602459, 0.942623) +V 180: Pos(0.475, 5.9, 5.8) Norm(0.301513, -0.904533, 0.301513) UV(0.598361, 0.973361) +V 181: Pos(1.975, 5.9, 5.8) Norm(-0.301509, -0.904535, 0.301511) UV(0.598361, 0.942623) +V 182: Pos(1.975, 6.1, 7.075) Norm(-0.30151, 0.904537, -0.301502) UV(0.606558, 0.973361) +V 183: Pos(0.475, 5.9, 7.075) Norm(0.301509, -0.904534, -0.301512) UV(0.602459, 0.942623) +V 184: Pos(0.475, 6.1, 7.075) Norm(0.301507, 0.904537, -0.301508) UV(0.606558, 0.942623) +V 185: Pos(3.125, 6.1, 5.8) Norm(0.301509, 0.904535, 0.301512) UV(0.983607, 0.156762) +V 186: Pos(3.125, 5.9, 7.075) Norm(0.301509, -0.904535, -0.301512) UV(0.987706, 0.130635) +V 187: Pos(3.125, 5.9, 5.8) Norm(0.301507, -0.904537, 0.301508) UV(0.987706, 0.156762) +V 188: Pos(4.625, 6.1, 7.075) Norm(-0.301509, 0.904534, -0.301515) UV(0.987706, 0.156762) +V 189: Pos(4.625, 5.9, 5.8) Norm(-0.301509, -0.904535, 0.301512) UV(0.983607, 0.182889) +V 190: Pos(4.625, 5.9, 7.075) Norm(-0.301507, -0.904537, -0.301507) UV(0.983607, 0.156762) +V 191: Pos(4.625, 6.1, 5.8) Norm(-0.301507, 0.904537, 0.301507) UV(0.663935, 0.901639) +V 192: Pos(3.125, 5.9, 5.8) Norm(0.301507, -0.904537, 0.301508) UV(0.659837, 0.932377) +V 193: Pos(4.625, 5.9, 5.8) Norm(-0.301509, -0.904535, 0.301512) UV(0.659837, 0.901639) +V 194: Pos(4.625, 6.1, 7.075) Norm(-0.301509, 0.904534, -0.301515) UV(0.668033, 0.932377) +V 195: Pos(3.125, 5.9, 7.075) Norm(0.301509, -0.904535, -0.301512) UV(0.663935, 0.901639) +V 196: Pos(3.125, 6.1, 7.075) Norm(0.301507, 0.904536, -0.301511) UV(0.668033, 0.901639) +V 197: Pos(5.775, 6.1, 5.8) Norm(0.301509, 0.904535, 0.301511) UV(0.983607, 0.209016) +V 198: Pos(5.775, 5.9, 7.075) Norm(0.30151, -0.904537, -0.301504) UV(0.987706, 0.182889) +V 199: Pos(5.775, 5.9, 5.8) Norm(0.301507, -0.904537, 0.301507) UV(0.987706, 0.209016) +V 200: Pos(7.275, 6.1, 7.075) Norm(-0.301509, 0.904534, -0.301515) UV(0.987706, 0.209016) +V 201: Pos(7.275, 5.9, 5.8) Norm(-0.301509, -0.904535, 0.301512) UV(0.983607, 0.235143) +V 202: Pos(7.275, 5.9, 7.075) Norm(-0.301506, -0.904535, -0.301514) UV(0.983607, 0.209016) +V 203: Pos(7.275, 6.1, 5.8) Norm(-0.301507, 0.904537, 0.301508) UV(0.610656, 0.942623) +V 204: Pos(5.775, 5.9, 5.8) Norm(0.301507, -0.904537, 0.301507) UV(0.606558, 0.973361) +V 205: Pos(7.275, 5.9, 5.8) Norm(-0.301509, -0.904535, 0.301512) UV(0.606558, 0.942623) +V 206: Pos(7.275, 6.1, 7.075) Norm(-0.301509, 0.904534, -0.301515) UV(0.614754, 0.973361) +V 207: Pos(5.775, 5.9, 7.075) Norm(0.30151, -0.904537, -0.301504) UV(0.610656, 0.942623) +V 208: Pos(5.775, 6.1, 7.075) Norm(0.301507, 0.904538, -0.301503) UV(0.614754, 0.942623) +V 209: Pos(8.424999, 6.1, 5.8) Norm(0.301509, 0.904534, 0.301512) UV(0.983607, 0.26127) +V 210: Pos(8.424999, 5.9, 7.075) Norm(0.301508, -0.904532, -0.30152) UV(0.987706, 0.235143) +V 211: Pos(8.424999, 5.9, 5.8) Norm(0.301507, -0.904537, 0.301508) UV(0.987706, 0.26127) +V 212: Pos(9.924999, 6.1, 7.075) Norm(-0.301505, 0.904538, -0.301504) UV(0.987706, 0.26127) +V 213: Pos(9.924999, 5.9, 5.8) Norm(-0.301509, -0.904535, 0.301511) UV(0.983607, 0.287397) +V 214: Pos(9.924999, 5.9, 7.075) Norm(-0.301507, -0.904537, -0.301507) UV(0.983607, 0.26127) +V 215: Pos(9.924999, 6.1, 5.8) Norm(-0.301511, 0.904534, 0.301512) UV(0.672132, 0.901639) +V 216: Pos(8.424999, 5.9, 5.8) Norm(0.301507, -0.904537, 0.301508) UV(0.668033, 0.932377) +V 217: Pos(9.924999, 5.9, 5.8) Norm(-0.301509, -0.904535, 0.301511) UV(0.668033, 0.901639) +V 218: Pos(9.924999, 6.1, 7.075) Norm(-0.301505, 0.904538, -0.301504) UV(0.67623, 0.932377) +V 219: Pos(8.424999, 5.9, 7.075) Norm(0.301508, -0.904532, -0.30152) UV(0.672132, 0.901639) +V 220: Pos(8.424999, 6.1, 7.075) Norm(0.301507, 0.904536, -0.301511) UV(0.67623, 0.901639) +V 221: Pos(11.075001, 6.1, 5.8) Norm(0.301505, 0.904538, 0.301507) UV(0.983607, 0.313524) +V 222: Pos(11.075001, 5.9, 7.075) Norm(0.301509, -0.904535, -0.301512) UV(0.987706, 0.287397) +V 223: Pos(11.075001, 5.9, 5.8) Norm(0.301507, -0.904537, 0.301507) UV(0.987706, 0.313524) +V 224: Pos(12.575001, 6.1, 7.075) Norm(-0.301505, 0.904537, -0.301508) UV(0.987706, 0.313525) +V 225: Pos(12.575001, 5.9, 5.8) Norm(-0.301505, -0.904538, 0.301507) UV(0.983607, 0.339652) +V 226: Pos(12.575001, 5.9, 7.075) Norm(-0.301511, -0.904534, -0.301511) UV(0.983607, 0.313525) +V 227: Pos(12.575001, 6.1, 5.8) Norm(-0.301511, 0.904534, 0.301512) UV(0.618853, 0.942623) +V 228: Pos(11.075001, 5.9, 5.8) Norm(0.301507, -0.904537, 0.301507) UV(0.614754, 0.973361) +V 229: Pos(12.575001, 5.9, 5.8) Norm(-0.301505, -0.904538, 0.301507) UV(0.614754, 0.942623) +V 230: Pos(12.575001, 6.1, 7.075) Norm(-0.301505, 0.904537, -0.301508) UV(0.622951, 0.973361) +V 231: Pos(11.075001, 5.9, 7.075) Norm(0.301509, -0.904535, -0.301512) UV(0.618853, 0.942623) +V 232: Pos(11.075001, 6.1, 7.075) Norm(0.301511, 0.904534, -0.30151) UV(0.622951, 0.942623) +V 233: Pos(13.725, 6.1, 5.8) Norm(0.301505, 0.904538, 0.301507) UV(0.983607, 0.365779) +V 234: Pos(13.725, 5.9, 7.075) Norm(0.301505, -0.904537, -0.30151) UV(0.987706, 0.339652) +V 235: Pos(13.725, 5.9, 5.8) Norm(0.301511, -0.904534, 0.301512) UV(0.987706, 0.365779) +V 236: Pos(15.225, 6.1, 7.075) Norm(-0.30151, 0.904534, -0.301512) UV(0.987706, 0.366803) +V 237: Pos(15.225, 5.9, 5.8) Norm(-0.301513, -0.904532, 0.301515) UV(0.983607, 0.39293) +V 238: Pos(15.225, 5.9, 7.075) Norm(-0.301512, -0.904534, -0.301512) UV(0.983607, 0.366803) +V 239: Pos(15.225, 6.1, 5.8) Norm(-0.301515, 0.904532, 0.301515) UV(0.62705, 0.942623) +V 240: Pos(13.725, 5.9, 5.8) Norm(0.301511, -0.904534, 0.301512) UV(0.622951, 0.973361) +V 241: Pos(15.225, 5.9, 5.8) Norm(-0.301513, -0.904532, 0.301515) UV(0.622951, 0.942623) +V 242: Pos(15.225, 6.1, 7.075) Norm(-0.30151, 0.904534, -0.301512) UV(0.631148, 0.973361) +V 243: Pos(13.725, 5.9, 7.075) Norm(0.301505, -0.904537, -0.30151) UV(0.62705, 0.942623) +V 244: Pos(13.725, 6.1, 7.075) Norm(0.301511, 0.904533, -0.301513) UV(0.631148, 0.942623) +V 245: Pos(-15.9, -6.1, 7.5) Norm(-0.577366, -0.577327, 0.577358) UV(0.959017, 0.651639) +V 246: Pos(-15.9, -5.9, 0.0) Norm(-0.577396, 0.577268, -0.577388) UV(0.963115, 0.805328) +V 247: Pos(-15.9, -6.1, 0.0) Norm(-0.57739, -0.577271, -0.57739) UV(0.959017, 0.805328) +V 248: Pos(-15.9, -5.9, 7.5) Norm(-0.577361, 0.57733, 0.57736) UV(0.391394, 0.651639) +V 249: Pos(-15.425, -5.9, 5.8) Norm(0.301512, 0.904533, 0.301514) UV(0.42623, 0.641906) +V 250: Pos(-15.9, -5.9, 0.0) Norm(-0.577396, 0.577268, -0.577388) UV(0.545082, 0.651639) +V 251: Pos(-2.175, -5.9, 7.075) Norm(0.301507, 0.904537, -0.301507) UV(0.400103, 0.370389) +V 252: Pos(-0.675, -5.9, 7.075) Norm(-0.301509, 0.904535, -0.301512) UV(0.400103, 0.339652) +V 253: Pos(15.9, -5.9, 0.0) Norm(0.577389, 0.577273, -0.577388) UV(0.545082, 0.0) +V 254: Pos(0.475, -5.9, 5.8) Norm(0.301516, 0.90453, 0.301518) UV(0.42623, 0.316086) +V 255: Pos(1.975, -5.9, 5.8) Norm(-0.301507, 0.904537, 0.301507) UV(0.42623, 0.285348) +V 256: Pos(15.9, -5.9, 7.5) Norm(0.577364, 0.577331, 0.577356) UV(0.391394, -0.0) +V 257: Pos(13.725, -5.9, 7.075) Norm(0.301511, 0.904533, -0.301513) UV(0.400103, 0.04457) +V 258: Pos(12.575001, -5.9, 7.075) Norm(-0.301505, 0.904537, -0.301508) UV(0.400103, 0.068135) +V 259: Pos(7.275, -5.9, 5.8) Norm(-0.301507, 0.904537, 0.301508) UV(0.42623, 0.176742) +V 260: Pos(8.424999, -5.9, 7.075) Norm(0.301507, 0.904536, -0.301511) UV(0.400103, 0.153176) +V 261: Pos(8.424999, -5.9, 5.8) Norm(0.301509, 0.904534, 0.301512) UV(0.42623, 0.153176) +V 262: Pos(4.625, -5.9, 5.8) Norm(-0.301507, 0.904537, 0.301507) UV(0.42623, 0.231045) +V 263: Pos(5.775, -5.9, 7.075) Norm(0.301507, 0.904538, -0.301503) UV(0.400103, 0.207479) +V 264: Pos(5.775, -5.9, 5.8) Norm(0.301509, 0.904535, 0.301511) UV(0.42623, 0.207479) +V 265: Pos(3.125, -5.9, 7.075) Norm(0.301507, 0.904536, -0.301511) UV(0.400103, 0.261783) +V 266: Pos(3.125, -5.9, 5.8) Norm(0.301509, 0.904535, 0.301512) UV(0.42623, 0.261783) +V 267: Pos(-0.675, -5.9, 5.8) Norm(-0.301507, 0.904537, 0.301507) UV(0.42623, 0.339652) +V 268: Pos(0.475, -5.9, 7.075) Norm(0.301507, 0.904537, -0.301508) UV(0.400103, 0.316086) +V 269: Pos(-3.325, -5.9, 5.8) Norm(-0.301507, 0.904537, 0.301507) UV(0.42623, 0.393955) +V 270: Pos(-2.175, -5.9, 5.8) Norm(0.301509, 0.904535, 0.301512) UV(0.42623, 0.370389) +V 271: Pos(-5.975, -5.9, 5.8) Norm(-0.301507, 0.904537, 0.301507) UV(0.42623, 0.448258) +V 272: Pos(-4.825, -5.9, 7.075) Norm(0.301507, 0.904537, -0.301507) UV(0.400103, 0.424693) +V 273: Pos(-4.825, -5.9, 5.8) Norm(0.301509, 0.904535, 0.301512) UV(0.42623, 0.424693) +V 274: Pos(-8.625, -5.9, 5.8) Norm(-0.301507, 0.904537, 0.301507) UV(0.42623, 0.502561) +V 275: Pos(-7.475, -5.9, 7.075) Norm(0.301507, 0.904537, -0.301507) UV(0.400103, 0.478996) +V 276: Pos(-7.475, -5.9, 5.8) Norm(0.301509, 0.904535, 0.301512) UV(0.42623, 0.478996) +V 277: Pos(-11.275, -5.9, 5.8) Norm(-0.301507, 0.904537, 0.301507) UV(0.42623, 0.556865) +V 278: Pos(-10.125, -5.9, 7.075) Norm(0.301506, 0.904535, -0.301513) UV(0.400103, 0.533299) +V 279: Pos(-10.125, -5.9, 5.8) Norm(0.301509, 0.904535, 0.301512) UV(0.42623, 0.533299) +V 280: Pos(-13.925, -5.9, 5.8) Norm(-0.301507, 0.904537, 0.301507) UV(0.42623, 0.611168) +V 281: Pos(-12.775, -5.9, 7.075) Norm(0.301507, 0.904537, -0.301507) UV(0.400103, 0.587602) +V 282: Pos(-12.775, -5.9, 5.8) Norm(0.301509, 0.904535, 0.301512) UV(0.42623, 0.587602) +V 283: Pos(15.9, -5.9, 7.5) Norm(0.577364, 0.577331, 0.577356) UV(0.959017, 0.805328) +V 284: Pos(15.9, -6.1, 0.0) Norm(0.577394, -0.57727, -0.577386) UV(0.963115, 0.959016) +V 285: Pos(15.9, -5.9, 0.0) Norm(0.577389, 0.577273, -0.577388) UV(0.959017, 0.959016) +V 286: Pos(-15.9, -6.1, 7.5) Norm(-0.577366, -0.577327, 0.577358) UV(0.545082, -0.0) +V 287: Pos(-15.425, -6.1, 5.8) Norm(0.301514, -0.904532, 0.301514) UV(0.579918, 0.009734) +V 288: Pos(-15.425, -6.1, 7.075) Norm(0.301514, -0.904531, -0.301518) UV(0.553791, 0.009734) +V 289: Pos(15.9, -6.1, 0.0) Norm(0.577394, -0.57727, -0.577386) UV(0.698771, 0.651639) +V 290: Pos(1.975, -6.1, 5.8) Norm(-0.301509, -0.904535, 0.301511) UV(0.579918, 0.366291) +V 291: Pos(0.475, -6.1, 5.8) Norm(0.301513, -0.904533, 0.301513) UV(0.579918, 0.335553) +V 292: Pos(15.9, -6.1, 7.5) Norm(0.577359, -0.577334, 0.577358) UV(0.545082, 0.651639) +V 293: Pos(0.475, -6.1, 7.075) Norm(0.301509, -0.904534, -0.301512) UV(0.553791, 0.335553) +V 294: Pos(1.975, -6.1, 7.075) Norm(-0.301508, -0.90454, -0.301497) UV(0.553791, 0.366291) +V 295: Pos(9.924999, -6.1, 7.075) Norm(-0.301507, -0.904537, -0.301507) UV(0.553791, 0.529201) +V 296: Pos(11.075001, -6.1, 5.8) Norm(0.301507, -0.904537, 0.301507) UV(0.579918, 0.552766) +V 297: Pos(11.075001, -6.1, 7.075) Norm(0.301509, -0.904535, -0.301512) UV(0.553791, 0.552766) +V 298: Pos(7.275, -6.1, 7.075) Norm(-0.301506, -0.904535, -0.301514) UV(0.553791, 0.474898) +V 299: Pos(8.424999, -6.1, 5.8) Norm(0.301507, -0.904537, 0.301508) UV(0.579918, 0.498463) +V 300: Pos(8.424999, -6.1, 7.075) Norm(0.301508, -0.904532, -0.30152) UV(0.553791, 0.498463) +V 301: Pos(4.625, -6.1, 7.075) Norm(-0.301507, -0.904537, -0.301507) UV(0.553791, 0.420594) +V 302: Pos(5.775, -6.1, 5.8) Norm(0.301507, -0.904537, 0.301507) UV(0.579918, 0.44416) +V 303: Pos(5.775, -6.1, 7.075) Norm(0.30151, -0.904537, -0.301504) UV(0.553791, 0.44416) +V 304: Pos(3.125, -6.1, 5.8) Norm(0.301507, -0.904537, 0.301508) UV(0.579918, 0.389857) +V 305: Pos(3.125, -6.1, 7.075) Norm(0.301509, -0.904535, -0.301512) UV(0.553791, 0.389857) +V 306: Pos(-0.675, -6.1, 7.075) Norm(-0.301508, -0.904539, -0.301499) UV(0.553791, 0.311988) +V 307: Pos(-3.325, -6.1, 7.075) Norm(-0.301507, -0.904536, -0.301511) UV(0.553791, 0.257684) +V 308: Pos(-2.175, -6.1, 5.8) Norm(0.301507, -0.904537, 0.301507) UV(0.579918, 0.28125) +V 309: Pos(-2.175, -6.1, 7.075) Norm(0.301509, -0.904534, -0.301515) UV(0.553791, 0.28125) +V 310: Pos(-5.975, -6.1, 7.075) Norm(-0.301508, -0.904539, -0.301499) UV(0.553791, 0.203381) +V 311: Pos(-4.825, -6.1, 5.8) Norm(0.301507, -0.904537, 0.301507) UV(0.579918, 0.226947) +V 312: Pos(-4.825, -6.1, 7.075) Norm(0.301509, -0.904534, -0.301515) UV(0.553791, 0.226947) +V 313: Pos(-8.625, -6.1, 7.075) Norm(-0.301507, -0.904538, -0.301503) UV(0.553791, 0.149078) +V 314: Pos(-7.475, -6.1, 5.8) Norm(0.301507, -0.904537, 0.301507) UV(0.579918, 0.172643) +V 315: Pos(-7.475, -6.1, 7.075) Norm(0.301509, -0.904534, -0.301515) UV(0.553791, 0.172643) +V 316: Pos(-11.275, -6.1, 7.075) Norm(-0.301507, -0.904537, -0.301507) UV(0.553791, 0.094775) +V 317: Pos(-10.125, -6.1, 5.8) Norm(0.301507, -0.904537, 0.301508) UV(0.579918, 0.11834) +V 318: Pos(-10.125, -6.1, 7.075) Norm(0.301509, -0.904534, -0.301515) UV(0.553791, 0.11834) +V 319: Pos(-13.925, -6.1, 7.075) Norm(-0.301507, -0.904537, -0.301507) UV(0.553791, 0.040471) +V 320: Pos(-12.775, -6.1, 5.8) Norm(0.301507, -0.904537, 0.301507) UV(0.579918, 0.064037) +V 321: Pos(-12.775, -6.1, 7.075) Norm(0.301509, -0.904535, -0.301512) UV(0.553791, 0.064037) +V 322: Pos(15.9, -5.9, 0.0) Norm(0.577389, 0.577273, -0.577388) UV(0.967214, 0.651639) +V 323: Pos(-15.9, -6.1, 0.0) Norm(-0.57739, -0.577271, -0.57739) UV(0.963115, -0.0) +V 324: Pos(-15.9, -5.9, 0.0) Norm(-0.577396, 0.577268, -0.577388) UV(0.967214, -0.0) +V 325: Pos(-15.9, -5.9, 7.5) Norm(-0.577361, 0.57733, 0.57736) UV(0.971312, 0.651639) +V 326: Pos(15.9, -6.1, 7.5) Norm(0.577359, -0.577334, 0.577358) UV(0.967214, -0.0) +V 327: Pos(15.9, -5.9, 7.5) Norm(0.577364, 0.577331, 0.577356) UV(0.971312, -0.0) +V 328: Pos(-15.425, -5.9, 5.8) Norm(0.301512, 0.904533, 0.301514) UV(0.983607, 0.419057) +V 329: Pos(-15.425, -6.1, 7.075) Norm(0.301514, -0.904531, -0.301518) UV(0.987706, 0.39293) +V 330: Pos(-15.425, -6.1, 5.8) Norm(0.301514, -0.904532, 0.301514) UV(0.987706, 0.419057) +V 331: Pos(-13.925, -5.9, 7.075) Norm(-0.301509, 0.904535, -0.301512) UV(0.987706, 0.419057) +V 332: Pos(-13.925, -6.1, 5.8) Norm(-0.301509, -0.904535, 0.301512) UV(0.983607, 0.445184) +V 333: Pos(-13.925, -6.1, 7.075) Norm(-0.301507, -0.904537, -0.301507) UV(0.983607, 0.419057) +V 334: Pos(-13.925, -5.9, 5.8) Norm(-0.301507, 0.904537, 0.301507) UV(0.635246, 0.942623) +V 335: Pos(-15.425, -6.1, 5.8) Norm(0.301514, -0.904532, 0.301514) UV(0.631148, 0.973361) +V 336: Pos(-13.925, -6.1, 5.8) Norm(-0.301509, -0.904535, 0.301512) UV(0.631148, 0.942623) +V 337: Pos(-13.925, -5.9, 7.075) Norm(-0.301509, 0.904535, -0.301512) UV(0.639345, 0.973361) +V 338: Pos(-15.425, -6.1, 7.075) Norm(0.301514, -0.904531, -0.301518) UV(0.635246, 0.942623) +V 339: Pos(-15.425, -5.9, 7.075) Norm(0.301516, 0.904531, -0.301517) UV(0.639345, 0.942623) +V 340: Pos(-12.775, -5.9, 5.8) Norm(0.301509, 0.904535, 0.301512) UV(0.983607, 0.471311) +V 341: Pos(-12.775, -6.1, 7.075) Norm(0.301509, -0.904535, -0.301512) UV(0.987706, 0.445184) +V 342: Pos(-12.775, -6.1, 5.8) Norm(0.301507, -0.904537, 0.301507) UV(0.987706, 0.471311) +V 343: Pos(-11.275, -5.9, 7.075) Norm(-0.301509, 0.904535, -0.301512) UV(0.987706, 0.471311) +V 344: Pos(-11.275, -6.1, 5.8) Norm(-0.301509, -0.904535, 0.301512) UV(0.983607, 0.497439) +V 345: Pos(-11.275, -6.1, 7.075) Norm(-0.301507, -0.904537, -0.301507) UV(0.983607, 0.471311) +V 346: Pos(-11.275, -5.9, 5.8) Norm(-0.301507, 0.904537, 0.301507) UV(0.643443, 0.942623) +V 347: Pos(-12.775, -6.1, 5.8) Norm(0.301507, -0.904537, 0.301507) UV(0.639345, 0.973361) +V 348: Pos(-11.275, -6.1, 5.8) Norm(-0.301509, -0.904535, 0.301512) UV(0.639345, 0.942623) +V 349: Pos(-11.275, -5.9, 7.075) Norm(-0.301509, 0.904535, -0.301512) UV(0.647541, 0.973361) +V 350: Pos(-12.775, -6.1, 7.075) Norm(0.301509, -0.904535, -0.301512) UV(0.643443, 0.942623) +V 351: Pos(-12.775, -5.9, 7.075) Norm(0.301507, 0.904537, -0.301507) UV(0.647541, 0.942623) +V 352: Pos(-10.125, -5.9, 5.8) Norm(0.301509, 0.904535, 0.301512) UV(0.983607, 0.523566) +V 353: Pos(-10.125, -6.1, 7.075) Norm(0.301509, -0.904534, -0.301515) UV(0.987706, 0.497438) +V 354: Pos(-10.125, -6.1, 5.8) Norm(0.301507, -0.904537, 0.301508) UV(0.987706, 0.523566) +V 355: Pos(-8.625, -5.9, 7.075) Norm(-0.301509, 0.904535, -0.301512) UV(0.987706, 0.523566) +V 356: Pos(-8.625, -6.1, 5.8) Norm(-0.301509, -0.904535, 0.301512) UV(0.983607, 0.549693) +V 357: Pos(-8.625, -6.1, 7.075) Norm(-0.301507, -0.904538, -0.301503) UV(0.983607, 0.523566) +V 358: Pos(-8.625, -5.9, 5.8) Norm(-0.301507, 0.904537, 0.301507) UV(0.680328, 0.901639) +V 359: Pos(-10.125, -6.1, 5.8) Norm(0.301507, -0.904537, 0.301508) UV(0.67623, 0.932377) +V 360: Pos(-8.625, -6.1, 5.8) Norm(-0.301509, -0.904535, 0.301512) UV(0.67623, 0.901639) +V 361: Pos(-8.625, -5.9, 7.075) Norm(-0.301509, 0.904535, -0.301512) UV(0.684427, 0.932377) +V 362: Pos(-10.125, -6.1, 7.075) Norm(0.301509, -0.904534, -0.301515) UV(0.680328, 0.901639) +V 363: Pos(-10.125, -5.9, 7.075) Norm(0.301506, 0.904535, -0.301513) UV(0.684427, 0.901639) +V 364: Pos(-7.475, -5.9, 5.8) Norm(0.301509, 0.904535, 0.301512) UV(0.983607, 0.57582) +V 365: Pos(-7.475, -6.1, 7.075) Norm(0.301509, -0.904534, -0.301515) UV(0.987706, 0.549693) +V 366: Pos(-7.475, -6.1, 5.8) Norm(0.301507, -0.904537, 0.301507) UV(0.987706, 0.57582) +V 367: Pos(-5.975, -5.9, 7.075) Norm(-0.301509, 0.904535, -0.301512) UV(0.987706, 0.57582) +V 368: Pos(-5.975, -6.1, 5.8) Norm(-0.301509, -0.904535, 0.301512) UV(0.983607, 0.601947) +V 369: Pos(-5.975, -6.1, 7.075) Norm(-0.301508, -0.904539, -0.301499) UV(0.983607, 0.57582) +V 370: Pos(-5.975, -5.9, 5.8) Norm(-0.301507, 0.904537, 0.301507) UV(0.65164, 0.942623) +V 371: Pos(-7.475, -6.1, 5.8) Norm(0.301507, -0.904537, 0.301507) UV(0.647541, 0.973361) +V 372: Pos(-5.975, -6.1, 5.8) Norm(-0.301509, -0.904535, 0.301512) UV(0.647541, 0.942623) +V 373: Pos(-5.975, -5.9, 7.075) Norm(-0.301509, 0.904535, -0.301512) UV(0.655738, 0.973361) +V 374: Pos(-7.475, -6.1, 7.075) Norm(0.301509, -0.904534, -0.301515) UV(0.65164, 0.942623) +V 375: Pos(-7.475, -5.9, 7.075) Norm(0.301507, 0.904537, -0.301507) UV(0.655738, 0.942623) +V 376: Pos(-4.825, -5.9, 5.8) Norm(0.301509, 0.904535, 0.301512) UV(0.983607, 0.628074) +V 377: Pos(-4.825, -6.1, 7.075) Norm(0.301509, -0.904534, -0.301515) UV(0.987706, 0.601947) +V 378: Pos(-4.825, -6.1, 5.8) Norm(0.301507, -0.904537, 0.301507) UV(0.987706, 0.628074) +V 379: Pos(-3.325, -5.9, 7.075) Norm(-0.301511, 0.90454, -0.301495) UV(0.987706, 0.628074) +V 380: Pos(-3.325, -6.1, 5.8) Norm(-0.301509, -0.904535, 0.301512) UV(0.983607, 0.654201) +V 381: Pos(-3.325, -6.1, 7.075) Norm(-0.301507, -0.904536, -0.301511) UV(0.983607, 0.628074) +V 382: Pos(-3.325, -5.9, 5.8) Norm(-0.301507, 0.904537, 0.301507) UV(0.967214, 0.944672) +V 383: Pos(-4.825, -6.1, 5.8) Norm(0.301507, -0.904537, 0.301507) UV(0.963115, 0.97541) +V 384: Pos(-3.325, -6.1, 5.8) Norm(-0.301509, -0.904535, 0.301512) UV(0.963115, 0.944672) +V 385: Pos(-3.325, -5.9, 7.075) Norm(-0.301511, 0.90454, -0.301495) UV(0.979509, 0.928279) +V 386: Pos(-4.825, -6.1, 7.075) Norm(0.301509, -0.904534, -0.301515) UV(0.975411, 0.897541) +V 387: Pos(-4.825, -5.9, 7.075) Norm(0.301507, 0.904537, -0.301507) UV(0.979509, 0.897541) +V 388: Pos(-2.175, -5.9, 5.8) Norm(0.301509, 0.904535, 0.301512) UV(0.983607, 0.680328) +V 389: Pos(-2.175, -6.1, 7.075) Norm(0.301509, -0.904534, -0.301515) UV(0.987706, 0.654201) +V 390: Pos(-2.175, -6.1, 5.8) Norm(0.301507, -0.904537, 0.301507) UV(0.987706, 0.680328) +V 391: Pos(-0.675, -5.9, 7.075) Norm(-0.301509, 0.904535, -0.301512) UV(0.987706, 0.680328) +V 392: Pos(-0.675, -6.1, 5.8) Norm(-0.301509, -0.904535, 0.301512) UV(0.983607, 0.706455) +V 393: Pos(-0.675, -6.1, 7.075) Norm(-0.301508, -0.904539, -0.301499) UV(0.983607, 0.680328) +V 394: Pos(-0.675, -5.9, 5.8) Norm(-0.301507, 0.904537, 0.301507) UV(0.979509, 0.928279) +V 395: Pos(-2.175, -6.1, 5.8) Norm(0.301507, -0.904537, 0.301507) UV(0.975411, 0.959016) +V 396: Pos(-0.675, -6.1, 5.8) Norm(-0.301509, -0.904535, 0.301512) UV(0.975411, 0.928279) +V 397: Pos(-0.675, -5.9, 7.075) Norm(-0.301509, 0.904535, -0.301512) UV(0.54918, 0.983607) +V 398: Pos(-2.175, -6.1, 7.075) Norm(0.301509, -0.904534, -0.301515) UV(0.545082, 0.952869) +V 399: Pos(-2.175, -5.9, 7.075) Norm(0.301507, 0.904537, -0.301507) UV(0.54918, 0.952869) +V 400: Pos(0.475, -5.9, 5.8) Norm(0.301516, 0.90453, 0.301518) UV(0.983607, 0.732582) +V 401: Pos(0.475, -6.1, 7.075) Norm(0.301509, -0.904534, -0.301512) UV(0.987706, 0.706455) +V 402: Pos(0.475, -6.1, 5.8) Norm(0.301513, -0.904533, 0.301513) UV(0.987706, 0.732582) +V 403: Pos(1.975, -5.9, 7.075) Norm(-0.30151, 0.904537, -0.301502) UV(0.987706, 0.732582) +V 404: Pos(1.975, -6.1, 5.8) Norm(-0.301509, -0.904535, 0.301511) UV(0.983607, 0.758709) +V 405: Pos(1.975, -6.1, 7.075) Norm(-0.301508, -0.90454, -0.301497) UV(0.983607, 0.732582) +V 406: Pos(1.975, -5.9, 5.8) Norm(-0.301507, 0.904537, 0.301507) UV(0.553279, 0.952869) +V 407: Pos(0.475, -6.1, 5.8) Norm(0.301513, -0.904533, 0.301513) UV(0.54918, 0.983607) +V 408: Pos(1.975, -6.1, 5.8) Norm(-0.301509, -0.904535, 0.301511) UV(0.54918, 0.952869) +V 409: Pos(1.975, -5.9, 7.075) Norm(-0.30151, 0.904537, -0.301502) UV(0.557377, 0.983607) +V 410: Pos(0.475, -6.1, 7.075) Norm(0.301509, -0.904534, -0.301512) UV(0.553279, 0.952869) +V 411: Pos(0.475, -5.9, 7.075) Norm(0.301507, 0.904537, -0.301508) UV(0.557377, 0.952869) +V 412: Pos(3.125, -5.9, 5.8) Norm(0.301509, 0.904535, 0.301512) UV(0.983607, 0.784836) +V 413: Pos(3.125, -6.1, 7.075) Norm(0.301509, -0.904535, -0.301512) UV(0.987706, 0.758709) +V 414: Pos(3.125, -6.1, 5.8) Norm(0.301507, -0.904537, 0.301508) UV(0.987706, 0.784836) +V 415: Pos(4.625, -5.9, 7.075) Norm(-0.301509, 0.904534, -0.301515) UV(0.987706, 0.784836) +V 416: Pos(4.625, -6.1, 5.8) Norm(-0.301509, -0.904535, 0.301512) UV(0.983607, 0.810963) +V 417: Pos(4.625, -6.1, 7.075) Norm(-0.301507, -0.904537, -0.301507) UV(0.983607, 0.784836) +V 418: Pos(4.625, -5.9, 5.8) Norm(-0.301507, 0.904537, 0.301507) UV(0.688525, 0.901639) +V 419: Pos(3.125, -6.1, 5.8) Norm(0.301507, -0.904537, 0.301508) UV(0.684427, 0.932377) +V 420: Pos(4.625, -6.1, 5.8) Norm(-0.301509, -0.904535, 0.301512) UV(0.684427, 0.901639) +V 421: Pos(4.625, -5.9, 7.075) Norm(-0.301509, 0.904534, -0.301515) UV(0.692623, 0.932377) +V 422: Pos(3.125, -6.1, 7.075) Norm(0.301509, -0.904535, -0.301512) UV(0.688525, 0.901639) +V 423: Pos(3.125, -5.9, 7.075) Norm(0.301507, 0.904536, -0.301511) UV(0.692623, 0.901639) +V 424: Pos(5.775, -5.9, 5.8) Norm(0.301509, 0.904535, 0.301511) UV(0.983607, 0.83709) +V 425: Pos(5.775, -6.1, 7.075) Norm(0.30151, -0.904537, -0.301504) UV(0.987706, 0.810963) +V 426: Pos(5.775, -6.1, 5.8) Norm(0.301507, -0.904537, 0.301507) UV(0.987706, 0.83709) +V 427: Pos(7.275, -5.9, 7.075) Norm(-0.301509, 0.904534, -0.301515) UV(0.987706, 0.83709) +V 428: Pos(7.275, -6.1, 5.8) Norm(-0.301509, -0.904535, 0.301512) UV(0.983607, 0.863217) +V 429: Pos(7.275, -6.1, 7.075) Norm(-0.301506, -0.904535, -0.301514) UV(0.983607, 0.83709) +V 430: Pos(7.275, -5.9, 5.8) Norm(-0.301507, 0.904537, 0.301508) UV(0.561476, 0.952869) +V 431: Pos(5.775, -6.1, 5.8) Norm(0.301507, -0.904537, 0.301507) UV(0.557377, 0.983607) +V 432: Pos(7.275, -6.1, 5.8) Norm(-0.301509, -0.904535, 0.301512) UV(0.557377, 0.952869) +V 433: Pos(7.275, -5.9, 7.075) Norm(-0.301509, 0.904534, -0.301515) UV(0.565574, 0.983607) +V 434: Pos(5.775, -6.1, 7.075) Norm(0.30151, -0.904537, -0.301504) UV(0.561476, 0.952869) +V 435: Pos(5.775, -5.9, 7.075) Norm(0.301507, 0.904538, -0.301503) UV(0.565574, 0.952869) +V 436: Pos(8.424999, -5.9, 5.8) Norm(0.301509, 0.904534, 0.301512) UV(0.983607, 0.889344) +V 437: Pos(8.424999, -6.1, 7.075) Norm(0.301508, -0.904532, -0.30152) UV(0.987706, 0.863217) +V 438: Pos(8.424999, -6.1, 5.8) Norm(0.301507, -0.904537, 0.301508) UV(0.987706, 0.889344) +V 439: Pos(9.924999, -5.9, 7.075) Norm(-0.301505, 0.904538, -0.301504) UV(0.987706, 0.889344) +V 440: Pos(9.924999, -6.1, 5.8) Norm(-0.301509, -0.904535, 0.301511) UV(0.983607, 0.915471) +V 441: Pos(9.924999, -6.1, 7.075) Norm(-0.301507, -0.904537, -0.301507) UV(0.983607, 0.889344) +V 442: Pos(9.924999, -5.9, 5.8) Norm(-0.301511, 0.904534, 0.301512) UV(0.696722, 0.901639) +V 443: Pos(8.424999, -6.1, 5.8) Norm(0.301507, -0.904537, 0.301508) UV(0.692624, 0.932377) +V 444: Pos(9.924999, -6.1, 5.8) Norm(-0.301509, -0.904535, 0.301511) UV(0.692624, 0.901639) +V 445: Pos(9.924999, -5.9, 7.075) Norm(-0.301505, 0.904538, -0.301504) UV(0.659836, 0.963115) +V 446: Pos(8.424999, -6.1, 7.075) Norm(0.301508, -0.904532, -0.30152) UV(0.655738, 0.932377) +V 447: Pos(8.424999, -5.9, 7.075) Norm(0.301507, 0.904536, -0.301511) UV(0.659837, 0.932377) +V 448: Pos(11.075001, -5.9, 5.8) Norm(0.301505, 0.904538, 0.301507) UV(0.983607, 0.941599) +V 449: Pos(11.075001, -6.1, 7.075) Norm(0.301509, -0.904535, -0.301512) UV(0.987706, 0.915472) +V 450: Pos(11.075001, -6.1, 5.8) Norm(0.301507, -0.904537, 0.301507) UV(0.987706, 0.941599) +V 451: Pos(12.575001, -5.9, 7.075) Norm(-0.301505, 0.904537, -0.301508) UV(0.987706, 0.941599) +V 452: Pos(12.575001, -6.1, 5.8) Norm(-0.301505, -0.904538, 0.301507) UV(0.983607, 0.967726) +V 453: Pos(12.575001, -6.1, 7.075) Norm(-0.301511, -0.904534, -0.301511) UV(0.983607, 0.941599) +V 454: Pos(12.575001, -5.9, 5.8) Norm(-0.301511, 0.904534, 0.301512) UV(0.569672, 0.952869) +V 455: Pos(11.075001, -6.1, 5.8) Norm(0.301507, -0.904537, 0.301507) UV(0.565574, 0.983607) +V 456: Pos(12.575001, -6.1, 5.8) Norm(-0.301505, -0.904538, 0.301507) UV(0.565574, 0.952869) +V 457: Pos(12.575001, -5.9, 7.075) Norm(-0.301505, 0.904537, -0.301508) UV(0.573771, 0.983607) +V 458: Pos(11.075001, -6.1, 7.075) Norm(0.301509, -0.904535, -0.301512) UV(0.569672, 0.952869) +V 459: Pos(11.075001, -5.9, 7.075) Norm(0.301511, 0.904534, -0.30151) UV(0.573771, 0.952869) +V 460: Pos(13.725, -5.9, 5.8) Norm(0.301505, 0.904538, 0.301507) UV(0.655738, 0.989242) +V 461: Pos(13.725, -6.1, 7.075) Norm(0.301505, -0.904537, -0.30151) UV(0.659836, 0.963115) +V 462: Pos(13.725, -6.1, 5.8) Norm(0.301511, -0.904534, 0.301512) UV(0.659836, 0.989242) +V 463: Pos(15.225, -5.9, 7.075) Norm(-0.30151, 0.904534, -0.301512) UV(0.663935, 0.963115) +V 464: Pos(15.225, -6.1, 5.8) Norm(-0.301513, -0.904532, 0.301515) UV(0.659837, 0.989242) +V 465: Pos(15.225, -6.1, 7.075) Norm(-0.301512, -0.904534, -0.301512) UV(0.659837, 0.963115) +V 466: Pos(15.225, -5.9, 5.8) Norm(-0.301515, 0.904532, 0.301515) UV(0.577869, 0.952869) +V 467: Pos(13.725, -6.1, 5.8) Norm(0.301511, -0.904534, 0.301512) UV(0.573771, 0.983606) +V 468: Pos(15.225, -6.1, 5.8) Norm(-0.301513, -0.904532, 0.301515) UV(0.573771, 0.952869) +V 469: Pos(15.225, -5.9, 7.075) Norm(-0.30151, 0.904534, -0.301512) UV(0.581967, 0.983607) +V 470: Pos(13.725, -6.1, 7.075) Norm(0.301505, -0.904537, -0.30151) UV(0.577869, 0.952869) +V 471: Pos(13.725, -5.9, 7.075) Norm(0.301511, 0.904533, -0.301513) UV(0.581967, 0.952869) +V 472: Pos(15.9, -6.1, 7.5) Norm(-0.57735, -0.57735, 0.57735) UV(0.391394, 0.901639) +V 473: Pos(15.9, 6.1, 0.0) Norm(-0.57735, 0.57735, -0.57735) UV(0.545082, 0.651639) +V 474: Pos(15.9, -6.1, 0.0) Norm(-0.577346, -0.577354, -0.577351) UV(0.545082, 0.901639) +V 475: Pos(15.9, 6.1, 7.5) Norm(-0.577346, 0.577354, 0.577351) UV(0.229508, 0.811475) +V 476: Pos(16.099998, 6.1, 0.0) Norm(0.577346, 0.577354, -0.577351) UV(0.233607, 0.965164) +V 477: Pos(15.9, 6.1, 0.0) Norm(-0.57735, 0.57735, -0.57735) UV(0.229508, 0.965164) +V 478: Pos(16.099998, 6.1, 7.5) Norm(0.57735, 0.57735, 0.57735) UV(0.545082, 0.901639) +V 479: Pos(16.099998, -6.1, 0.0) Norm(0.57735, -0.57735, -0.57735) UV(0.698771, 0.651639) +V 480: Pos(16.099998, 6.1, 0.0) Norm(0.577346, 0.577354, -0.577351) UV(0.698771, 0.901639) +V 481: Pos(16.099998, -6.1, 7.5) Norm(0.577346, -0.577354, 0.577351) UV(0.963115, 0.651639) +V 482: Pos(15.9, -6.1, 0.0) Norm(-0.577346, -0.577354, -0.577351) UV(0.967214, 0.805328) +V 483: Pos(16.099998, -6.1, 0.0) Norm(0.57735, -0.57735, -0.57735) UV(0.963115, 0.805328) +V 484: Pos(16.099998, 6.1, 0.0) Norm(0.577346, 0.577354, -0.577351) UV(0.213115, 0.897541) +V 485: Pos(15.9, -6.1, 0.0) Norm(-0.577346, -0.577354, -0.577351) UV(0.217213, 0.647541) +V 486: Pos(15.9, 6.1, 0.0) Norm(-0.57735, 0.57735, -0.57735) UV(0.217213, 0.897541) +V 487: Pos(15.9, 6.1, 7.5) Norm(-0.577346, 0.577354, 0.577351) UV(0.217213, 0.897541) +V 488: Pos(16.099998, -6.1, 7.5) Norm(0.577346, -0.577354, 0.577351) UV(0.221311, 0.647541) +V 489: Pos(16.099998, 6.1, 7.5) Norm(0.57735, 0.57735, 0.57735) UV(0.221311, 0.897541) +V 490: Pos(-15.9, 1.4, 7.5) Norm(-0.577354, -0.577352, 0.577345) UV(0.581967, 0.901639) +V 491: Pos(-15.9, 1.6, 5.0) Norm(-0.577363, 0.577324, -0.577363) UV(0.586066, 0.952869) +V 492: Pos(-15.9, 1.4, 5.0) Norm(-0.57736, -0.57733, -0.57736) UV(0.581967, 0.952869) +V 493: Pos(7.9, 1.6, 7.5) Norm(0.577373, 0.577314, 0.577364) UV(0.852459, -0.0) +V 494: Pos(-1.0, 1.6, 7.0) Norm(-0.301515, 0.904534, -0.301509) UV(0.862705, 0.182377) +V 495: Pos(-2.2, 1.6, 7.0) Norm(0.301511, 0.904534, -0.301511) UV(0.862705, 0.206967) +V 496: Pos(7.9, 1.6, 7.5) Norm(0.577373, 0.577314, 0.577364) UV(0.586066, 0.901639) +V 497: Pos(7.9, 1.4, 5.0) Norm(0.57737, -0.577337, -0.577344) UV(0.590164, 0.952869) +V 498: Pos(7.9, 1.6, 5.0) Norm(0.577358, 0.577334, -0.577358) UV(0.586066, 0.952869) +V 499: Pos(7.9, 1.4, 7.5) Norm(0.577366, -0.577316, 0.577368) UV(0.903689, 0.487705) +V 500: Pos(-2.2, 1.4, 7.0) Norm(0.301515, -0.904534, -0.301508) UV(0.913935, 0.280738) +V 501: Pos(-1.0, 1.4, 7.0) Norm(-0.301511, -0.904534, -0.30151) UV(0.913935, 0.305328) +V 502: Pos(-9.0, 1.6, 5.0) Norm(-0.577348, 0.577348, -0.577356) UV(0.967214, 0.805328) +V 503: Pos(-2.2, 1.4, 5.0) Norm(0.577357, -0.577329, -0.577365) UV(0.963115, 0.944672) +V 504: Pos(-9.0, 1.4, 5.0) Norm(-0.577355, -0.577348, -0.577348) UV(0.963115, 0.805328) +V 505: Pos(-1.0, 1.6, 5.0) Norm(-0.577357, 0.577329, -0.577365) UV(0.971312, 0.790984) +V 506: Pos(5.799999, 1.4, 5.0) Norm(0.577348, -0.577348, -0.577356) UV(0.967214, 0.930328) +V 507: Pos(-1.0, 1.4, 5.0) Norm(-0.577364, -0.577329, -0.577357) UV(0.967214, 0.790984) +V 508: Pos(7.9, 1.4, 5.0) Norm(0.57737, -0.577337, -0.577344) UV(0.692623, 0.981557) +V 509: Pos(7.0, 1.6, 5.0) Norm(-0.577356, 0.577356, -0.577338) UV(0.696722, 0.963115) +V 510: Pos(7.9, 1.6, 5.0) Norm(0.577358, 0.577334, -0.577358) UV(0.696722, 0.981557) +V 511: Pos(-15.9, 1.6, 5.0) Norm(-0.577363, 0.577324, -0.577363) UV(0.979509, 0.139344) +V 512: Pos(-10.200001, 1.4, 5.0) Norm(0.577352, -0.577345, -0.577354) UV(0.975411, 0.256148) +V 513: Pos(-15.9, 1.4, 5.0) Norm(-0.57736, -0.57733, -0.57736) UV(0.975411, 0.139344) +V 514: Pos(-15.9, 1.6, 7.5) Norm(-0.577347, 0.577354, 0.577349) UV(0.975411, 0.487705) +V 515: Pos(7.9, 1.4, 7.5) Norm(0.577366, -0.577316, 0.577368) UV(0.971312, 0.0) +V 516: Pos(7.9, 1.6, 7.5) Norm(0.577373, 0.577314, 0.577364) UV(0.975411, 0.0) +V 517: Pos(-10.200001, 1.6, 7.0) Norm(0.301517, 0.904531, -0.301515) UV(0.606558, 0.901639) +V 518: Pos(-10.200001, 1.4, 5.0) Norm(0.577352, -0.577345, -0.577354) UV(0.610656, 0.942623) +V 519: Pos(-10.200001, 1.6, 5.0) Norm(0.57735, 0.57735, -0.57735) UV(0.606558, 0.942623) +V 520: Pos(-9.0, 1.6, 7.0) Norm(-0.301519, 0.904531, -0.301512) UV(0.614754, 0.901639) +V 521: Pos(-9.0, 1.4, 5.0) Norm(-0.577355, -0.577348, -0.577348) UV(0.610656, 0.942623) +V 522: Pos(-9.0, 1.4, 7.0) Norm(-0.301515, -0.904531, -0.301515) UV(0.610656, 0.901639) +V 523: Pos(-9.0, 1.6, 7.0) Norm(-0.301519, 0.904531, -0.301512) UV(0.672132, 0.987705) +V 524: Pos(-10.200001, 1.4, 7.0) Norm(0.301514, -0.904533, -0.301511) UV(0.668033, 0.963115) +V 525: Pos(-10.200001, 1.6, 7.0) Norm(0.301517, 0.904531, -0.301515) UV(0.672132, 0.963115) +V 526: Pos(-2.2, 1.6, 5.0) Norm(0.577364, 0.577329, -0.577357) UV(0.614754, 0.942623) +V 527: Pos(-2.2, 1.4, 7.0) Norm(0.301515, -0.904534, -0.301508) UV(0.618853, 0.901639) +V 528: Pos(-2.2, 1.4, 5.0) Norm(0.577357, -0.577329, -0.577365) UV(0.618853, 0.942623) +V 529: Pos(-1.0, 1.6, 7.0) Norm(-0.301515, 0.904534, -0.301509) UV(0.622951, 0.901639) +V 530: Pos(-1.0, 1.4, 5.0) Norm(-0.577364, -0.577329, -0.577357) UV(0.618853, 0.942623) +V 531: Pos(-1.0, 1.4, 7.0) Norm(-0.301511, -0.904534, -0.30151) UV(0.618853, 0.901639) +V 532: Pos(-1.0, 1.6, 7.0) Norm(-0.301515, 0.904534, -0.301509) UV(0.688525, 0.987705) +V 533: Pos(-2.2, 1.4, 7.0) Norm(0.301515, -0.904534, -0.301508) UV(0.684427, 0.963115) +V 534: Pos(-2.2, 1.6, 7.0) Norm(0.301511, 0.904534, -0.301511) UV(0.688525, 0.963115) +V 535: Pos(5.799999, 1.6, 5.0) Norm(0.577355, 0.577348, -0.577348) UV(0.622951, 0.942623) +V 536: Pos(5.799999, 1.4, 7.0) Norm(0.301519, -0.904531, -0.301512) UV(0.62705, 0.901639) +V 537: Pos(5.799999, 1.4, 5.0) Norm(0.577348, -0.577348, -0.577356) UV(0.62705, 0.942623) +V 538: Pos(7.0, 1.6, 7.0) Norm(-0.301518, 0.904532, -0.301511) UV(0.631148, 0.901639) +V 539: Pos(7.0, 1.4, 5.0) Norm(-0.577355, -0.577348, -0.577348) UV(0.62705, 0.942623) +V 540: Pos(7.0, 1.4, 7.0) Norm(-0.301515, -0.904532, -0.301515) UV(0.62705, 0.901639) +V 541: Pos(7.0, 1.6, 7.0) Norm(-0.301518, 0.904532, -0.301511) UV(0.67623, 0.987705) +V 542: Pos(5.799999, 1.4, 7.0) Norm(0.301519, -0.904531, -0.301512) UV(0.672132, 0.963115) +V 543: Pos(5.799999, 1.6, 7.0) Norm(0.301515, 0.904531, -0.301515) UV(0.67623, 0.963115) +V 544: Pos(-15.9, -1.6, 7.5) Norm(-0.577354, -0.577352, 0.577345) UV(0.590164, 0.901639) +V 545: Pos(-15.9, -1.4, 5.0) Norm(-0.577363, 0.577324, -0.577363) UV(0.594263, 0.952869) +V 546: Pos(-15.9, -1.6, 5.0) Norm(-0.57736, -0.57733, -0.57736) UV(0.590164, 0.952869) +V 547: Pos(7.9, -1.4, 7.5) Norm(0.577373, 0.577314, 0.577364) UV(0.852459, 0.487705) +V 548: Pos(-1.0, -1.4, 7.0) Norm(-0.301515, 0.904534, -0.301507) UV(0.862705, 0.670082) +V 549: Pos(-2.2, -1.4, 7.0) Norm(0.301511, 0.904534, -0.301511) UV(0.862705, 0.694672) +V 550: Pos(7.9, -1.4, 7.5) Norm(0.577373, 0.577314, 0.577364) UV(0.594263, 0.901639) +V 551: Pos(7.9, -1.6, 5.0) Norm(0.57737, -0.577337, -0.577344) UV(0.598361, 0.952869) +V 552: Pos(7.9, -1.4, 5.0) Norm(0.577358, 0.577334, -0.577358) UV(0.594263, 0.952869) +V 553: Pos(7.9, -1.6, 7.5) Norm(0.577366, -0.577316, 0.577368) UV(0.903689, 0.97541) +V 554: Pos(-2.2, -1.6, 7.0) Norm(0.301515, -0.904534, -0.301508) UV(0.913935, 0.768443) +V 555: Pos(-1.0, -1.6, 7.0) Norm(-0.301511, -0.904534, -0.301512) UV(0.913935, 0.793033) +V 556: Pos(-9.0, -1.4, 5.0) Norm(-0.577348, 0.577348, -0.577356) UV(0.971312, 0.651639) +V 557: Pos(-2.2, -1.6, 5.0) Norm(0.577357, -0.577329, -0.577365) UV(0.967214, 0.790984) +V 558: Pos(-9.0, -1.6, 5.0) Norm(-0.577355, -0.577348, -0.577348) UV(0.967214, 0.651639) +V 559: Pos(-1.0, -1.4, 5.0) Norm(-0.577357, 0.577329, -0.577365) UV(0.979509, -0.0) +V 560: Pos(5.799999, -1.6, 5.0) Norm(0.577348, -0.577348, -0.577356) UV(0.975411, 0.139344) +V 561: Pos(-1.0, -1.6, 5.0) Norm(-0.577364, -0.577329, -0.577357) UV(0.975411, -0.0) +V 562: Pos(7.9, -1.6, 5.0) Norm(0.57737, -0.577337, -0.577344) UV(0.229508, 0.983607) +V 563: Pos(7.0, -1.4, 5.0) Norm(-0.577356, 0.577356, -0.577338) UV(0.233607, 0.965164) +V 564: Pos(7.9, -1.4, 5.0) Norm(0.577358, 0.577334, -0.577358) UV(0.233607, 0.983607) +V 565: Pos(-15.9, -1.4, 5.0) Norm(-0.577363, 0.577324, -0.577363) UV(0.979509, 0.256148) +V 566: Pos(-10.200001, -1.6, 5.0) Norm(0.577352, -0.577345, -0.577354) UV(0.975411, 0.372951) +V 567: Pos(-15.9, -1.6, 5.0) Norm(-0.57736, -0.57733, -0.57736) UV(0.975411, 0.256148) +V 568: Pos(-15.9, -1.4, 7.5) Norm(-0.577347, 0.577354, 0.577349) UV(0.975411, 0.97541) +V 569: Pos(7.9, -1.6, 7.5) Norm(0.577366, -0.577316, 0.577368) UV(0.971312, 0.487705) +V 570: Pos(7.9, -1.4, 7.5) Norm(0.577373, 0.577314, 0.577364) UV(0.975411, 0.487705) +V 571: Pos(-10.200001, -1.4, 7.0) Norm(0.301517, 0.904531, -0.301514) UV(0.631148, 0.901639) +V 572: Pos(-10.200001, -1.6, 5.0) Norm(0.577352, -0.577345, -0.577354) UV(0.635246, 0.942623) +V 573: Pos(-10.200001, -1.4, 5.0) Norm(0.57735, 0.57735, -0.57735) UV(0.631148, 0.942623) +V 574: Pos(-9.0, -1.4, 7.0) Norm(-0.301519, 0.904531, -0.301512) UV(0.639345, 0.901639) +V 575: Pos(-9.0, -1.6, 5.0) Norm(-0.577355, -0.577348, -0.577348) UV(0.635246, 0.942623) +V 576: Pos(-9.0, -1.6, 7.0) Norm(-0.301515, -0.904531, -0.301515) UV(0.635246, 0.901639) +V 577: Pos(-9.0, -1.4, 7.0) Norm(-0.301519, 0.904531, -0.301512) UV(0.680328, 0.987705) +V 578: Pos(-10.200001, -1.6, 7.0) Norm(0.301514, -0.904533, -0.301512) UV(0.67623, 0.963115) +V 579: Pos(-10.200001, -1.4, 7.0) Norm(0.301517, 0.904531, -0.301514) UV(0.680328, 0.963115) +V 580: Pos(-2.2, -1.4, 5.0) Norm(0.577364, 0.577329, -0.577357) UV(0.639345, 0.942623) +V 581: Pos(-2.2, -1.6, 7.0) Norm(0.301515, -0.904534, -0.301508) UV(0.643443, 0.901639) +V 582: Pos(-2.2, -1.6, 5.0) Norm(0.577357, -0.577329, -0.577365) UV(0.643443, 0.942623) +V 583: Pos(-1.0, -1.4, 7.0) Norm(-0.301515, 0.904534, -0.301507) UV(0.647541, 0.901639) +V 584: Pos(-1.0, -1.6, 5.0) Norm(-0.577364, -0.577329, -0.577357) UV(0.643443, 0.942623) +V 585: Pos(-1.0, -1.6, 7.0) Norm(-0.301511, -0.904534, -0.301512) UV(0.643443, 0.901639) +V 586: Pos(-1.0, -1.4, 7.0) Norm(-0.301515, 0.904534, -0.301507) UV(0.692623, 0.987705) +V 587: Pos(-2.2, -1.6, 7.0) Norm(0.301515, -0.904534, -0.301508) UV(0.688525, 0.963115) +V 588: Pos(-2.2, -1.4, 7.0) Norm(0.301511, 0.904534, -0.301511) UV(0.692623, 0.963115) +V 589: Pos(5.799999, -1.4, 5.0) Norm(0.577355, 0.577348, -0.577348) UV(0.647541, 0.942623) +V 590: Pos(5.799999, -1.6, 7.0) Norm(0.301519, -0.904531, -0.301512) UV(0.65164, 0.901639) +V 591: Pos(5.799999, -1.6, 5.0) Norm(0.577348, -0.577348, -0.577356) UV(0.65164, 0.942623) +V 592: Pos(7.0, -1.4, 7.0) Norm(-0.301518, 0.904532, -0.301511) UV(0.655738, 0.901639) +V 593: Pos(7.0, -1.6, 5.0) Norm(-0.577355, -0.577348, -0.577348) UV(0.65164, 0.942623) +V 594: Pos(7.0, -1.6, 7.0) Norm(-0.301515, -0.904532, -0.301515) UV(0.65164, 0.901639) +V 595: Pos(7.0, -1.4, 7.0) Norm(-0.301518, 0.904532, -0.301511) UV(0.684427, 0.987705) +V 596: Pos(5.799999, -1.6, 7.0) Norm(0.301519, -0.904531, -0.301512) UV(0.680328, 0.963115) +V 597: Pos(5.799999, -1.4, 7.0) Norm(0.301515, 0.904531, -0.301515) UV(0.684427, 0.963115) +V 598: Pos(-8.1, 1.6, 7.5) Norm(-0.577347, -0.577352, 0.577352) UV(0.80123, 0.981557) +V 599: Pos(-8.1, 5.9, 5.0) Norm(-0.577347, 0.577352, -0.577352) UV(0.852459, 0.893443) +V 600: Pos(-8.1, 1.6, 5.0) Norm(-0.577344, -0.577353, -0.577354) UV(0.852459, 0.981557) +V 601: Pos(-8.1, 5.9, 7.5) Norm(-0.577344, 0.577353, 0.577354) UV(0.22541, 0.811475) +V 602: Pos(-7.9, 5.9, 5.0) Norm(0.577344, 0.577353, -0.577354) UV(0.229508, 0.862705) +V 603: Pos(-8.1, 5.9, 5.0) Norm(-0.577347, 0.577352, -0.577352) UV(0.22541, 0.862705) +V 604: Pos(-7.9, 5.9, 7.5) Norm(0.577347, 0.577352, 0.577352) UV(0.17623, 0.985656) +V 605: Pos(-7.9, 1.6, 5.0) Norm(0.577347, -0.577352, -0.577352) UV(0.227459, 0.897541) +V 606: Pos(-7.9, 5.9, 5.0) Norm(0.577344, 0.577353, -0.577354) UV(0.227459, 0.985656) +V 607: Pos(-7.9, 1.6, 7.5) Norm(0.577344, -0.577353, 0.577354) UV(0.545082, 0.901639) +V 608: Pos(-8.1, 1.6, 5.0) Norm(-0.577344, -0.577353, -0.577354) UV(0.54918, 0.952869) +V 609: Pos(-7.9, 1.6, 5.0) Norm(0.577347, -0.577352, -0.577352) UV(0.545082, 0.952869) +V 610: Pos(-7.9, 5.9, 5.0) Norm(0.577344, 0.577353, -0.577354) UV(0.979509, 0.190574) +V 611: Pos(-8.1, 1.6, 5.0) Norm(-0.577344, -0.577353, -0.577354) UV(0.983607, 0.102459) +V 612: Pos(-8.1, 5.9, 5.0) Norm(-0.577347, 0.577352, -0.577352) UV(0.983607, 0.190574) +V 613: Pos(-8.1, 5.9, 7.5) Norm(-0.577344, 0.577353, 0.577354) UV(0.979509, 0.278689) +V 614: Pos(-7.9, 1.6, 7.5) Norm(0.577344, -0.577353, 0.577354) UV(0.983607, 0.190574) +V 615: Pos(-7.9, 5.9, 7.5) Norm(0.577347, 0.577352, 0.577352) UV(0.983607, 0.278689) +V 616: Pos(-8.1, -5.9, 7.5) Norm(-0.577347, -0.577352, 0.577352) UV(0.237705, 0.989754) +V 617: Pos(-8.1, -1.6, 5.0) Norm(-0.577347, 0.577352, -0.577352) UV(0.288934, 0.901639) +V 618: Pos(-8.1, -5.9, 5.0) Norm(-0.577344, -0.577353, -0.577354) UV(0.288934, 0.989754) +V 619: Pos(-8.1, -1.6, 7.5) Norm(-0.577344, 0.577353, 0.577354) UV(0.54918, 0.901639) +V 620: Pos(-7.9, -1.6, 5.0) Norm(0.577344, 0.577353, -0.577354) UV(0.553279, 0.952869) +V 621: Pos(-8.1, -1.6, 5.0) Norm(-0.577347, 0.577352, -0.577352) UV(0.54918, 0.952869) +V 622: Pos(-7.9, -1.6, 7.5) Norm(0.577347, 0.577352, 0.577352) UV(0.288934, 0.989754) +V 623: Pos(-7.9, -5.9, 5.0) Norm(0.577347, -0.577352, -0.577352) UV(0.340164, 0.901639) +V 624: Pos(-7.9, -1.6, 5.0) Norm(0.577344, 0.577353, -0.577354) UV(0.340164, 0.989754) +V 625: Pos(-7.9, -5.9, 7.5) Norm(0.577344, -0.577353, 0.577354) UV(0.553279, 0.901639) +V 626: Pos(-8.1, -5.9, 5.0) Norm(-0.577344, -0.577353, -0.577354) UV(0.557377, 0.952869) +V 627: Pos(-7.9, -5.9, 5.0) Norm(0.577347, -0.577352, -0.577352) UV(0.553279, 0.952869) +V 628: Pos(-7.9, -1.6, 5.0) Norm(0.577344, 0.577353, -0.577354) UV(0.979509, 0.366803) +V 629: Pos(-8.1, -5.9, 5.0) Norm(-0.577344, -0.577353, -0.577354) UV(0.983607, 0.278689) +V 630: Pos(-8.1, -1.6, 5.0) Norm(-0.577347, 0.577352, -0.577352) UV(0.983607, 0.366803) +V 631: Pos(-8.1, -1.6, 7.5) Norm(-0.577344, 0.577353, 0.577354) UV(0.979509, 0.454918) +V 632: Pos(-7.9, -5.9, 7.5) Norm(0.577344, -0.577353, 0.577354) UV(0.983607, 0.366803) +V 633: Pos(-7.9, -1.6, 7.5) Norm(0.577347, 0.577352, 0.577352) UV(0.983607, 0.454918) +V 634: Pos(-0.1, 1.6, 7.5) Norm(-0.577347, -0.577352, 0.577352) UV(0.340164, 0.989754) +V 635: Pos(-0.1, 5.9, 5.0) Norm(-0.577347, 0.577352, -0.577352) UV(0.391394, 0.901639) +V 636: Pos(-0.1, 1.6, 5.0) Norm(-0.577344, -0.577353, -0.577354) UV(0.391394, 0.989754) +V 637: Pos(-0.1, 5.9, 7.5) Norm(-0.577344, 0.577353, 0.577354) UV(0.557377, 0.901639) +V 638: Pos(0.1, 5.9, 5.0) Norm(0.577344, 0.577353, -0.577354) UV(0.561476, 0.952869) +V 639: Pos(-0.1, 5.9, 5.0) Norm(-0.577347, 0.577352, -0.577352) UV(0.557377, 0.952869) +V 640: Pos(0.1, 5.9, 7.5) Norm(0.577347, 0.577352, 0.577352) UV(0.391394, 0.989754) +V 641: Pos(0.1, 1.6, 5.0) Norm(0.577347, -0.577352, -0.577352) UV(0.442623, 0.901639) +V 642: Pos(0.1, 5.9, 5.0) Norm(0.577344, 0.577353, -0.577354) UV(0.442623, 0.989754) +V 643: Pos(0.1, 1.6, 7.5) Norm(0.577344, -0.577353, 0.577354) UV(0.561476, 0.901639) +V 644: Pos(-0.1, 1.6, 5.0) Norm(-0.577344, -0.577353, -0.577354) UV(0.565574, 0.952869) +V 645: Pos(0.1, 1.6, 5.0) Norm(0.577347, -0.577352, -0.577352) UV(0.561476, 0.952869) +V 646: Pos(0.1, 5.9, 5.0) Norm(0.577344, 0.577353, -0.577354) UV(0.979509, 0.543033) +V 647: Pos(-0.1, 1.6, 5.0) Norm(-0.577344, -0.577353, -0.577354) UV(0.983607, 0.454918) +V 648: Pos(-0.1, 5.9, 5.0) Norm(-0.577347, 0.577352, -0.577352) UV(0.983607, 0.543033) +V 649: Pos(-0.1, 5.9, 7.5) Norm(-0.577344, 0.577353, 0.577354) UV(0.979509, 0.631148) +V 650: Pos(0.1, 1.6, 7.5) Norm(0.577344, -0.577353, 0.577354) UV(0.983607, 0.543033) +V 651: Pos(0.1, 5.9, 7.5) Norm(0.577347, 0.577352, 0.577352) UV(0.983607, 0.631148) +V 652: Pos(-0.1, -5.9, 7.5) Norm(-0.577347, -0.577352, 0.577352) UV(0.442623, 0.989754) +V 653: Pos(-0.1, -1.6, 5.0) Norm(-0.577347, 0.577352, -0.577352) UV(0.493853, 0.901639) +V 654: Pos(-0.1, -5.9, 5.0) Norm(-0.577344, -0.577353, -0.577354) UV(0.493853, 0.989754) +V 655: Pos(-0.1, -1.6, 7.5) Norm(-0.577344, 0.577353, 0.577354) UV(0.565574, 0.901639) +V 656: Pos(0.1, -1.6, 5.0) Norm(0.577344, 0.577353, -0.577354) UV(0.569672, 0.952869) +V 657: Pos(-0.1, -1.6, 5.0) Norm(-0.577347, 0.577352, -0.577352) UV(0.565574, 0.952869) +V 658: Pos(0.1, -1.6, 7.5) Norm(0.577347, 0.577352, 0.577352) UV(0.493853, 0.989754) +V 659: Pos(0.1, -5.9, 5.0) Norm(0.577347, -0.577352, -0.577352) UV(0.545082, 0.901639) +V 660: Pos(0.1, -1.6, 5.0) Norm(0.577344, 0.577353, -0.577354) UV(0.545082, 0.989754) +V 661: Pos(0.1, -5.9, 7.5) Norm(0.577344, -0.577353, 0.577354) UV(0.569672, 0.901639) +V 662: Pos(-0.1, -5.9, 5.0) Norm(-0.577344, -0.577353, -0.577354) UV(0.573771, 0.952869) +V 663: Pos(0.1, -5.9, 5.0) Norm(0.577347, -0.577352, -0.577352) UV(0.569672, 0.952869) +V 664: Pos(0.1, -1.6, 5.0) Norm(0.577344, 0.577353, -0.577354) UV(0.979509, 0.719262) +V 665: Pos(-0.1, -5.9, 5.0) Norm(-0.577344, -0.577353, -0.577354) UV(0.983607, 0.631148) +V 666: Pos(-0.1, -1.6, 5.0) Norm(-0.577347, 0.577352, -0.577352) UV(0.983607, 0.719262) +V 667: Pos(-0.1, -1.6, 7.5) Norm(-0.577344, 0.577353, 0.577354) UV(0.979509, 0.807377) +V 668: Pos(0.1, -5.9, 7.5) Norm(0.577344, -0.577353, 0.577354) UV(0.983607, 0.719262) +V 669: Pos(0.1, -1.6, 7.5) Norm(0.577347, 0.577352, 0.577352) UV(0.983607, 0.807377) +V 670: Pos(7.9, -5.9, 7.5) Norm(-0.577355, -0.577348, 0.577348) UV(0.153689, 0.889344) +V 671: Pos(7.9, 5.9, 7.5) Norm(-0.577351, 0.577352, 0.577348) UV(0.153689, 0.647541) +V 672: Pos(7.9, -0.6, 7.0) Norm(-0.904532, 0.301517, -0.30151) UV(0.163934, 0.780738) +V 673: Pos(7.9, 5.9, 7.5) Norm(-0.577351, 0.577352, 0.577348) UV(0.573771, 0.901639) +V 674: Pos(8.1, 5.9, 5.0) Norm(0.577327, 0.577366, -0.577357) UV(0.577869, 0.952869) +V 675: Pos(7.9, 5.9, 5.0) Norm(-0.577327, 0.577357, -0.577366) UV(0.573771, 0.952869) +V 676: Pos(8.1, 5.9, 7.5) Norm(0.577355, 0.577348, 0.577348) UV(0.80123, 0.893443) +V 677: Pos(8.1, -5.9, 7.5) Norm(0.577351, -0.577352, 0.577348) UV(0.80123, 0.651639) +V 678: Pos(8.1, 0.6, 7.0) Norm(0.904533, -0.301514, -0.301511) UV(0.811476, 0.784836) +V 679: Pos(8.1, -5.9, 7.5) Norm(0.577351, -0.577352, 0.577348) UV(0.577869, 0.901639) +V 680: Pos(7.9, -5.9, 5.0) Norm(-0.577327, -0.577366, -0.577357) UV(0.581967, 0.952869) +V 681: Pos(8.1, -5.9, 5.0) Norm(0.577327, -0.577357, -0.577366) UV(0.577869, 0.952869) +V 682: Pos(8.1, -5.9, 5.0) Norm(0.577327, -0.577357, -0.577366) UV(0.975411, 0.372951) +V 683: Pos(7.9, -0.6, 5.0) Norm(-0.577347, 0.577347, -0.577356) UV(0.979509, 0.481557) +V 684: Pos(8.1, -0.6, 5.0) Norm(0.577348, 0.577355, -0.577348) UV(0.975411, 0.481557) +V 685: Pos(7.9, 5.9, 5.0) Norm(-0.577327, 0.577357, -0.577366) UV(0.979509, 0.590164) +V 686: Pos(8.1, 0.6, 5.0) Norm(0.577345, -0.577352, -0.577354) UV(0.975411, 0.481557) +V 687: Pos(7.9, 0.6, 5.0) Norm(-0.57735, -0.57735, -0.57735) UV(0.979509, 0.481557) +V 688: Pos(7.9, 5.9, 7.5) Norm(-0.577351, 0.577352, 0.577348) UV(0.221311, 0.889344) +V 689: Pos(8.1, -5.9, 7.5) Norm(0.577351, -0.577352, 0.577348) UV(0.22541, 0.647541) +V 690: Pos(8.1, 5.9, 7.5) Norm(0.577355, 0.577348, 0.577348) UV(0.22541, 0.889344) +V 691: Pos(7.9, 0.6, 7.0) Norm(-0.904532, -0.301517, -0.301513) UV(0.602459, 0.901639) +V 692: Pos(8.1, 0.6, 5.0) Norm(0.577345, -0.577352, -0.577354) UV(0.598361, 0.942623) +V 693: Pos(8.1, 0.6, 7.0) Norm(0.904533, -0.301514, -0.301511) UV(0.598361, 0.901639) +V 694: Pos(7.9, -0.6, 7.0) Norm(-0.904532, 0.301517, -0.30151) UV(0.602459, 0.901639) +V 695: Pos(8.1, -0.6, 5.0) Norm(0.577348, 0.577355, -0.577348) UV(0.606558, 0.942623) +V 696: Pos(7.9, -0.6, 5.0) Norm(-0.577347, 0.577347, -0.577356) UV(0.602459, 0.942623) +V 697: Pos(8.1, 0.6, 7.0) Norm(0.904533, -0.301514, -0.301511) UV(0.663935, 0.987705) +V 698: Pos(7.9, -0.6, 7.0) Norm(-0.904532, 0.301517, -0.30151) UV(0.668033, 0.963115) +V 699: Pos(7.9, 0.6, 7.0) Norm(-0.904532, -0.301517, -0.301513) UV(0.668033, 0.987705) +V 700: Pos(15.911287, 5.908553, 5.0) Norm(-0.0, 0.0, 1.0) UV(0.237705, 0.0) +V 701: Pos(-8.000001, 5.908553, 5.0) Norm(0.0, 0.0, 1.0) UV(0.237705, 0.487705) +V 702: Pos(-8.000001, 1.4, 5.0) Norm(-0.0, 0.0, 1.0) UV(0.147541, 0.487705) +V 703: Pos(-8.1, 1.6, 5.0) Norm(-0.577369, -0.577341, 0.577341) UV(0.0, 0.897541) +V 704: Pos(-8.1, 5.9, 0.0) Norm(-0.577369, 0.577341, -0.577341) UV(0.088115, 1.0) +V 705: Pos(-8.1, 1.6, 0.0) Norm(-0.577344, -0.577353, -0.577354) UV(0.0, 1.0) +V 706: Pos(-8.1, 5.9, 5.0) Norm(-0.577344, 0.577353, 0.577354) UV(0.975411, 0.590164) +V 707: Pos(-7.9, 5.9, 0.0) Norm(0.577344, 0.577353, -0.577354) UV(0.979509, 0.692623) +V 708: Pos(-8.1, 5.9, 0.0) Norm(-0.577369, 0.577341, -0.577341) UV(0.975411, 0.692623) +V 709: Pos(-7.9, 5.9, 5.0) Norm(0.577369, 0.577341, 0.577341) UV(0.088115, 0.897541) +V 710: Pos(-7.9, 1.6, 0.0) Norm(0.577369, -0.577341, -0.577341) UV(0.17623, 1.0) +V 711: Pos(-7.9, 5.9, 0.0) Norm(0.577344, 0.577353, -0.577354) UV(0.088115, 1.0) +V 712: Pos(-7.9, 1.6, 5.0) Norm(0.577344, -0.577353, 0.577354) UV(0.975411, 0.692623) +V 713: Pos(-8.1, 1.6, 0.0) Norm(-0.577344, -0.577353, -0.577354) UV(0.979509, 0.795082) +V 714: Pos(-7.9, 1.6, 0.0) Norm(0.577369, -0.577341, -0.577341) UV(0.975411, 0.795082) +V 715: Pos(-7.9, 5.9, 0.0) Norm(0.577344, 0.577353, -0.577354) UV(0.979509, 0.895492) +V 716: Pos(-8.1, 1.6, 0.0) Norm(-0.577344, -0.577353, -0.577354) UV(0.983607, 0.807377) +V 717: Pos(-8.1, 5.9, 0.0) Norm(-0.577369, 0.577341, -0.577341) UV(0.983607, 0.895492) +V 718: Pos(-8.1, 5.9, 5.0) Norm(-0.577344, 0.577353, 0.577354) UV(0.979509, 0.983607) +V 719: Pos(-7.9, 1.6, 5.0) Norm(0.577344, -0.577353, 0.577354) UV(0.983607, 0.895492) +V 720: Pos(-7.9, 5.9, 5.0) Norm(0.577369, 0.577341, 0.577341) UV(0.983607, 0.983607) +V 721: Pos(-16.0, 1.4, 5.0) Norm(-0.577356, -0.577347, 0.577347) UV(0.975411, 0.795082) +V 722: Pos(-16.0, 1.6, 0.0) Norm(-0.577356, 0.577347, -0.577347) UV(0.979509, 0.897541) +V 723: Pos(-16.0, 1.4, 0.0) Norm(-0.577348, -0.577349, -0.577354) UV(0.975411, 0.897541) +V 724: Pos(-16.0, 1.6, 5.0) Norm(-0.577348, 0.577349, 0.577354) UV(0.698771, 0.815574) +V 725: Pos(-8.0, 1.6, 0.0) Norm(0.577348, 0.577349, -0.577354) UV(0.80123, 0.651639) +V 726: Pos(-16.0, 1.6, 0.0) Norm(-0.577356, 0.577347, -0.577347) UV(0.80123, 0.815574) +V 727: Pos(-8.0, 1.6, 5.0) Norm(0.577356, 0.577347, 0.577347) UV(0.979509, 0.0) +V 728: Pos(-8.0, 1.4, 0.0) Norm(0.577356, -0.577347, -0.577347) UV(0.983607, 0.102459) +V 729: Pos(-8.0, 1.6, 0.0) Norm(0.577348, 0.577349, -0.577354) UV(0.979509, 0.102459) +V 730: Pos(-8.0, 1.4, 5.0) Norm(0.577348, -0.577349, 0.577354) UV(0.698771, 0.979508) +V 731: Pos(-16.0, 1.4, 0.0) Norm(-0.577348, -0.577349, -0.577354) UV(0.80123, 0.815574) +V 732: Pos(-8.0, 1.4, 0.0) Norm(0.577356, -0.577347, -0.577347) UV(0.80123, 0.979508) +V 733: Pos(-8.0, 1.6, 0.0) Norm(0.577348, 0.577349, -0.577354) UV(0.229508, 0.811475) +V 734: Pos(-16.0, 1.4, 0.0) Norm(-0.577348, -0.577349, -0.577354) UV(0.22541, 0.647541) +V 735: Pos(-16.0, 1.6, 0.0) Norm(-0.577356, 0.577347, -0.577347) UV(0.229508, 0.647541) +V 736: Pos(-16.0, 1.6, 5.0) Norm(-0.577348, 0.577349, 0.577354) UV(0.233607, 0.811475) +V 737: Pos(-8.0, 1.4, 5.0) Norm(0.577348, -0.577349, 0.577354) UV(0.229508, 0.647541) +V 738: Pos(-8.0, 1.6, 5.0) Norm(0.577356, 0.577347, 0.577347) UV(0.233607, 0.647541) +V 739: Pos(-16.1, 6.1, 7.5) Norm(-0.577346, 0.577354, 0.577351) UV(0.0, 0.647541) +V 740: Pos(-15.9, 6.1, 7.5) Norm(0.57735, 0.57735, 0.57735) UV(0.959017, 0.651639) +V 741: Pos(-15.9, -6.1, 7.5) Norm(0.577346, -0.577354, 0.577351) UV(0.237705, 0.651639) +V 742: Pos(-16.1, -6.1, 7.5) Norm(-0.57735, -0.57735, 0.57735) UV(0.959017, 0.805328) +V 743: Pos(-15.9, -6.1, 0.0) Norm(0.57735, -0.57735, -0.57735) UV(0.204918, 0.647541) +V 744: Pos(-16.1, -6.1, 7.5) Norm(-0.57735, -0.57735, 0.57735) UV(0.209016, 0.647541) +V 745: Pos(-15.9, 6.1, 7.5) Norm(-0.577361, 0.57733, 0.57736) UV(0.237705, 0.647541) +V 746: Pos(-15.425, 6.1, 7.075) Norm(0.301516, 0.904531, -0.301517) UV(0.70748, 0.641906) +V 747: Pos(-13.925, 6.1, 7.075) Norm(-0.301509, 0.904535, -0.301512) UV(0.70748, 0.611168) +V 748: Pos(11.075001, 6.1, 7.075) Norm(0.301511, 0.904534, -0.30151) UV(0.70748, 0.098873) +V 749: Pos(9.924999, 6.1, 7.075) Norm(-0.301505, 0.904538, -0.301504) UV(0.70748, 0.122439) +V 750: Pos(-11.275, 6.1, 7.075) Norm(-0.301509, 0.904535, -0.301512) UV(0.70748, 0.556865) +V 751: Pos(7.275, 6.1, 7.075) Norm(-0.301509, 0.904534, -0.301515) UV(0.70748, 0.176742) +V 752: Pos(-8.625, 6.1, 7.075) Norm(-0.301509, 0.904535, -0.301512) UV(0.70748, 0.502561) +V 753: Pos(4.625, 6.1, 7.075) Norm(-0.301509, 0.904534, -0.301515) UV(0.70748, 0.231045) +V 754: Pos(-5.975, 6.1, 7.075) Norm(-0.301509, 0.904535, -0.301512) UV(0.70748, 0.448258) +V 755: Pos(1.975, 6.1, 7.075) Norm(-0.30151, 0.904537, -0.301502) UV(0.70748, 0.285348) +V 756: Pos(-3.325, 6.1, 7.075) Norm(-0.301509, 0.904535, -0.301512) UV(0.70748, 0.393955) +V 757: Pos(15.225, 6.1, 7.075) Norm(-0.30151, 0.904534, -0.301512) UV(0.70748, 0.013832) +V 758: Pos(15.225, 6.1, 5.8) Norm(-0.301515, 0.904532, 0.301515) UV(0.733607, 0.013832) +V 759: Pos(13.725, 6.1, 5.8) Norm(0.301505, 0.904538, 0.301507) UV(0.733607, 0.04457) +V 760: Pos(12.575001, 6.1, 5.8) Norm(-0.301511, 0.904534, 0.301512) UV(0.733607, 0.068135) +V 761: Pos(11.075001, 6.1, 5.8) Norm(0.301505, 0.904538, 0.301507) UV(0.733607, 0.098873) +V 762: Pos(9.924999, 6.1, 5.8) Norm(-0.301511, 0.904534, 0.301512) UV(0.733607, 0.122439) +V 763: Pos(15.9, 5.9, 7.5) Norm(0.577359, -0.577334, 0.577358) UV(0.237705, 0.801229) +V 764: Pos(-15.9, 5.9, 0.0) Norm(-0.57739, -0.577271, -0.57739) UV(0.391394, -0.0) +V 765: Pos(-13.925, 5.9, 5.8) Norm(-0.301509, -0.904535, 0.301512) UV(0.272541, 0.040471) +V 766: Pos(15.225, 5.9, 5.8) Norm(-0.301513, -0.904532, 0.301515) UV(0.272541, 0.637807) +V 767: Pos(15.225, 5.9, 7.075) Norm(-0.301512, -0.904534, -0.301512) UV(0.246414, 0.637807) +V 768: Pos(-11.275, 5.9, 5.8) Norm(-0.301509, -0.904535, 0.301512) UV(0.272541, 0.094775) +V 769: Pos(13.725, 5.9, 5.8) Norm(0.301511, -0.904534, 0.301512) UV(0.272541, 0.60707) +V 770: Pos(12.575001, 5.9, 5.8) Norm(-0.301505, -0.904538, 0.301507) UV(0.272541, 0.583504) +V 771: Pos(-8.625, 5.9, 5.8) Norm(-0.301509, -0.904535, 0.301512) UV(0.272541, 0.149078) +V 772: Pos(9.924999, 5.9, 5.8) Norm(-0.301509, -0.904535, 0.301511) UV(0.272541, 0.529201) +V 773: Pos(-5.975, 5.9, 5.8) Norm(-0.301509, -0.904535, 0.301512) UV(0.272541, 0.203381) +V 774: Pos(7.275, 5.9, 5.8) Norm(-0.301509, -0.904535, 0.301512) UV(0.272541, 0.474898) +V 775: Pos(-3.325, 5.9, 5.8) Norm(-0.301509, -0.904535, 0.30151) UV(0.272541, 0.257684) +V 776: Pos(4.625, 5.9, 5.8) Norm(-0.301509, -0.904535, 0.301512) UV(0.272541, 0.420594) +V 777: Pos(-0.675, 5.9, 5.8) Norm(-0.301509, -0.904535, 0.301512) UV(0.272541, 0.311988) +V 778: Pos(13.725, 5.9, 7.075) Norm(0.301505, -0.904537, -0.30151) UV(0.246414, 0.60707) +V 779: Pos(12.575001, 5.9, 7.075) Norm(-0.301511, -0.904534, -0.301511) UV(0.246414, 0.583504) +V 780: Pos(15.9, 5.9, 0.0) Norm(0.577394, -0.57727, -0.577386) UV(0.954918, 0.651639) +V 781: Pos(-15.9, 5.9, 7.5) Norm(-0.577366, -0.577327, 0.577358) UV(0.959017, 0.651639) +V 782: Pos(-15.425, 6.1, 7.075) Norm(0.301516, 0.904531, -0.301517) UV(0.581967, 0.952869) +V 783: Pos(-13.925, 6.1, 5.8) Norm(-0.301507, 0.904537, 0.301507) UV(0.590164, 0.978996) +V 784: Pos(-15.425, 6.1, 5.8) Norm(0.301512, 0.904533, 0.301514) UV(0.663935, 0.963115) +V 785: Pos(-13.925, 5.9, 7.075) Norm(-0.301507, -0.904537, -0.301507) UV(0.663935, 0.963115) +V 786: Pos(-12.775, 6.1, 7.075) Norm(0.301507, 0.904537, -0.301507) UV(0.590164, 0.952869) +V 787: Pos(-11.275, 6.1, 5.8) Norm(-0.301507, 0.904537, 0.301507) UV(0.598361, 0.978996) +V 788: Pos(-12.775, 6.1, 5.8) Norm(0.301509, 0.904535, 0.301512) UV(0.672132, 0.963115) +V 789: Pos(-11.275, 5.9, 7.075) Norm(-0.301507, -0.904537, -0.301507) UV(0.672132, 0.963115) +V 790: Pos(-10.125, 6.1, 7.075) Norm(0.301506, 0.904535, -0.301513) UV(0.233607, 0.954918) +V 791: Pos(-8.625, 6.1, 5.8) Norm(-0.301507, 0.904537, 0.301507) UV(0.959017, 0.985143) +V 792: Pos(-10.125, 6.1, 5.8) Norm(0.301509, 0.904535, 0.301512) UV(0.229508, 0.893443) +V 793: Pos(-8.625, 5.9, 7.075) Norm(-0.301507, -0.904538, -0.301503) UV(0.655738, 0.932377) +V 794: Pos(-7.475, 6.1, 7.075) Norm(0.301507, 0.904537, -0.301507) UV(0.959017, 0.959016) +V 795: Pos(-5.975, 6.1, 5.8) Norm(-0.301507, 0.904537, 0.301507) UV(0.979509, 0.985143) +V 796: Pos(-7.475, 6.1, 5.8) Norm(0.301509, 0.904535, 0.301512) UV(0.680328, 0.963115) +V 797: Pos(-5.975, 5.9, 7.075) Norm(-0.301507, -0.904537, -0.301507) UV(0.680328, 0.963115) +V 798: Pos(-4.825, 6.1, 7.075) Norm(0.301507, 0.904537, -0.301507) UV(0.967214, 0.961066) +V 799: Pos(-3.325, 6.1, 5.8) Norm(-0.301507, 0.904537, 0.301508) UV(0.987706, 0.026127) +V 800: Pos(-4.825, 6.1, 5.8) Norm(0.301509, 0.904535, 0.301512) UV(0.688525, 0.963115) +V 801: Pos(-3.325, 5.9, 7.075) Norm(-0.301508, -0.904541, -0.301494) UV(0.688525, 0.963115) +V 802: Pos(-2.175, 6.1, 7.075) Norm(0.301507, 0.904537, -0.301507) UV(0.983607, 0.026127) +V 803: Pos(-0.675, 6.1, 5.8) Norm(-0.301507, 0.904537, 0.301507) UV(0.987706, 0.078381) +V 804: Pos(-2.175, 6.1, 5.8) Norm(0.301509, 0.904535, 0.301512) UV(0.696722, 0.963115) +V 805: Pos(-0.675, 5.9, 7.075) Norm(-0.301507, -0.904537, -0.301507) UV(0.967214, 0.961065) +V 806: Pos(0.475, 6.1, 7.075) Norm(0.301507, 0.904537, -0.301508) UV(0.983607, 0.078381) +V 807: Pos(1.975, 6.1, 5.8) Norm(-0.301507, 0.904537, 0.301507) UV(0.987706, 0.130635) +V 808: Pos(0.475, 6.1, 5.8) Norm(0.301516, 0.904531, 0.301518) UV(0.602459, 0.973361) +V 809: Pos(1.975, 5.9, 7.075) Norm(-0.301508, -0.90454, -0.301497) UV(0.602459, 0.973361) +V 810: Pos(3.125, 6.1, 7.075) Norm(0.301507, 0.904536, -0.301511) UV(0.983607, 0.130635) +V 811: Pos(4.625, 6.1, 5.8) Norm(-0.301507, 0.904537, 0.301507) UV(0.987706, 0.182889) +V 812: Pos(3.125, 6.1, 5.8) Norm(0.301509, 0.904535, 0.301512) UV(0.663935, 0.932377) +V 813: Pos(4.625, 5.9, 7.075) Norm(-0.301507, -0.904537, -0.301507) UV(0.663935, 0.932377) +V 814: Pos(5.775, 6.1, 7.075) Norm(0.301507, 0.904538, -0.301503) UV(0.983607, 0.182889) +V 815: Pos(7.275, 6.1, 5.8) Norm(-0.301507, 0.904537, 0.301508) UV(0.987706, 0.235143) +V 816: Pos(5.775, 6.1, 5.8) Norm(0.301509, 0.904535, 0.301511) UV(0.610656, 0.973361) +V 817: Pos(7.275, 5.9, 7.075) Norm(-0.301506, -0.904535, -0.301514) UV(0.610656, 0.973361) +V 818: Pos(8.424999, 6.1, 7.075) Norm(0.301507, 0.904536, -0.301511) UV(0.983607, 0.235143) +V 819: Pos(9.924999, 6.1, 5.8) Norm(-0.301511, 0.904534, 0.301512) UV(0.987706, 0.287397) +V 820: Pos(8.424999, 6.1, 5.8) Norm(0.301509, 0.904534, 0.301512) UV(0.672132, 0.932377) +V 821: Pos(9.924999, 5.9, 7.075) Norm(-0.301507, -0.904537, -0.301507) UV(0.672132, 0.932377) +V 822: Pos(11.075001, 6.1, 7.075) Norm(0.301511, 0.904534, -0.30151) UV(0.983607, 0.287397) +V 823: Pos(12.575001, 6.1, 5.8) Norm(-0.301511, 0.904534, 0.301512) UV(0.987706, 0.339652) +V 824: Pos(11.075001, 6.1, 5.8) Norm(0.301505, 0.904538, 0.301507) UV(0.618853, 0.973361) +V 825: Pos(12.575001, 5.9, 7.075) Norm(-0.301511, -0.904534, -0.301511) UV(0.618853, 0.973361) +V 826: Pos(13.725, 6.1, 7.075) Norm(0.301511, 0.904533, -0.301513) UV(0.983607, 0.339652) +V 827: Pos(15.225, 6.1, 5.8) Norm(-0.301515, 0.904532, 0.301515) UV(0.987706, 0.39293) +V 828: Pos(13.725, 6.1, 5.8) Norm(0.301505, 0.904538, 0.301507) UV(0.62705, 0.973361) +V 829: Pos(15.225, 5.9, 7.075) Norm(-0.301512, -0.904534, -0.301512) UV(0.62705, 0.973361) +V 830: Pos(-15.9, -5.9, 7.5) Norm(-0.577361, 0.57733, 0.57736) UV(0.963115, 0.651639) +V 831: Pos(-15.425, -5.9, 7.075) Norm(0.301516, 0.904531, -0.301517) UV(0.400103, 0.641906) +V 832: Pos(-13.925, -5.9, 7.075) Norm(-0.301509, 0.904535, -0.301512) UV(0.400103, 0.611168) +V 833: Pos(11.075001, -5.9, 7.075) Norm(0.301511, 0.904534, -0.30151) UV(0.400103, 0.098873) +V 834: Pos(9.924999, -5.9, 7.075) Norm(-0.301505, 0.904538, -0.301504) UV(0.400103, 0.122439) +V 835: Pos(-11.275, -5.9, 7.075) Norm(-0.301509, 0.904535, -0.301512) UV(0.400103, 0.556865) +V 836: Pos(7.275, -5.9, 7.075) Norm(-0.301509, 0.904534, -0.301515) UV(0.400103, 0.176742) +V 837: Pos(-8.625, -5.9, 7.075) Norm(-0.301509, 0.904535, -0.301512) UV(0.400103, 0.502561) +V 838: Pos(4.625, -5.9, 7.075) Norm(-0.301509, 0.904534, -0.301515) UV(0.400103, 0.231045) +V 839: Pos(-5.975, -5.9, 7.075) Norm(-0.301509, 0.904535, -0.301512) UV(0.400103, 0.448258) +V 840: Pos(1.975, -5.9, 7.075) Norm(-0.30151, 0.904537, -0.301502) UV(0.400103, 0.285348) +V 841: Pos(-3.325, -5.9, 7.075) Norm(-0.301511, 0.90454, -0.301495) UV(0.400103, 0.393955) +V 842: Pos(15.225, -5.9, 7.075) Norm(-0.30151, 0.904534, -0.301512) UV(0.400103, 0.013832) +V 843: Pos(15.225, -5.9, 5.8) Norm(-0.301515, 0.904532, 0.301515) UV(0.42623, 0.013832) +V 844: Pos(13.725, -5.9, 5.8) Norm(0.301505, 0.904538, 0.301507) UV(0.42623, 0.04457) +V 845: Pos(12.575001, -5.9, 5.8) Norm(-0.301511, 0.904534, 0.301512) UV(0.42623, 0.068135) +V 846: Pos(11.075001, -5.9, 5.8) Norm(0.301505, 0.904538, 0.301507) UV(0.42623, 0.098873) +V 847: Pos(9.924999, -5.9, 5.8) Norm(-0.301511, 0.904534, 0.301512) UV(0.42623, 0.122439) +V 848: Pos(15.9, -6.1, 7.5) Norm(0.577359, -0.577334, 0.577358) UV(0.963115, 0.805328) +V 849: Pos(-15.9, -6.1, 0.0) Norm(-0.57739, -0.577271, -0.57739) UV(0.698771, -0.0) +V 850: Pos(-13.925, -6.1, 5.8) Norm(-0.301509, -0.904535, 0.301512) UV(0.579918, 0.040471) +V 851: Pos(15.225, -6.1, 5.8) Norm(-0.301513, -0.904532, 0.301515) UV(0.579918, 0.637807) +V 852: Pos(15.225, -6.1, 7.075) Norm(-0.301512, -0.904534, -0.301512) UV(0.553791, 0.637807) +V 853: Pos(-11.275, -6.1, 5.8) Norm(-0.301509, -0.904535, 0.301512) UV(0.579918, 0.094775) +V 854: Pos(13.725, -6.1, 5.8) Norm(0.301511, -0.904534, 0.301512) UV(0.579918, 0.60707) +V 855: Pos(12.575001, -6.1, 5.8) Norm(-0.301505, -0.904538, 0.301507) UV(0.579918, 0.583504) +V 856: Pos(-8.625, -6.1, 5.8) Norm(-0.301509, -0.904535, 0.301512) UV(0.579918, 0.149078) +V 857: Pos(9.924999, -6.1, 5.8) Norm(-0.301509, -0.904535, 0.301511) UV(0.579918, 0.529201) +V 858: Pos(-5.975, -6.1, 5.8) Norm(-0.301509, -0.904535, 0.301512) UV(0.579918, 0.203381) +V 859: Pos(7.275, -6.1, 5.8) Norm(-0.301509, -0.904535, 0.301512) UV(0.579918, 0.474898) +V 860: Pos(-3.325, -6.1, 5.8) Norm(-0.301509, -0.904535, 0.301512) UV(0.579918, 0.257684) +V 861: Pos(4.625, -6.1, 5.8) Norm(-0.301509, -0.904535, 0.301512) UV(0.579918, 0.420594) +V 862: Pos(-0.675, -6.1, 5.8) Norm(-0.301509, -0.904535, 0.301512) UV(0.579918, 0.311988) +V 863: Pos(13.725, -6.1, 7.075) Norm(0.301505, -0.904537, -0.30151) UV(0.553791, 0.60707) +V 864: Pos(12.575001, -6.1, 7.075) Norm(-0.301511, -0.904534, -0.301511) UV(0.553791, 0.583504) +V 865: Pos(15.9, -6.1, 0.0) Norm(0.577394, -0.57727, -0.577386) UV(0.963115, 0.651639) +V 866: Pos(-15.9, -6.1, 7.5) Norm(-0.577366, -0.577327, 0.577358) UV(0.967214, 0.651639) +V 867: Pos(-15.425, -5.9, 7.075) Norm(0.301516, 0.904531, -0.301517) UV(0.983607, 0.39293) +V 868: Pos(-13.925, -5.9, 5.8) Norm(-0.301507, 0.904537, 0.301507) UV(0.987706, 0.445184) +V 869: Pos(-15.425, -5.9, 5.8) Norm(0.301512, 0.904533, 0.301514) UV(0.635246, 0.973361) +V 870: Pos(-13.925, -6.1, 7.075) Norm(-0.301507, -0.904537, -0.301507) UV(0.635246, 0.973361) +V 871: Pos(-12.775, -5.9, 7.075) Norm(0.301507, 0.904537, -0.301507) UV(0.983607, 0.445184) +V 872: Pos(-11.275, -5.9, 5.8) Norm(-0.301507, 0.904537, 0.301507) UV(0.987706, 0.497439) +V 873: Pos(-12.775, -5.9, 5.8) Norm(0.301509, 0.904535, 0.301512) UV(0.643443, 0.973361) +V 874: Pos(-11.275, -6.1, 7.075) Norm(-0.301507, -0.904537, -0.301507) UV(0.643443, 0.973361) +V 875: Pos(-10.125, -5.9, 7.075) Norm(0.301506, 0.904535, -0.301513) UV(0.983607, 0.497438) +V 876: Pos(-8.625, -5.9, 5.8) Norm(-0.301507, 0.904537, 0.301507) UV(0.987706, 0.549693) +V 877: Pos(-10.125, -5.9, 5.8) Norm(0.301509, 0.904535, 0.301512) UV(0.680328, 0.932377) +V 878: Pos(-8.625, -6.1, 7.075) Norm(-0.301507, -0.904538, -0.301503) UV(0.680328, 0.932377) +V 879: Pos(-7.475, -5.9, 7.075) Norm(0.301507, 0.904537, -0.301507) UV(0.983607, 0.549693) +V 880: Pos(-5.975, -5.9, 5.8) Norm(-0.301507, 0.904537, 0.301507) UV(0.987706, 0.601947) +V 881: Pos(-7.475, -5.9, 5.8) Norm(0.301509, 0.904535, 0.301512) UV(0.65164, 0.973361) +V 882: Pos(-5.975, -6.1, 7.075) Norm(-0.301508, -0.904539, -0.301499) UV(0.65164, 0.973361) +V 883: Pos(-4.825, -5.9, 7.075) Norm(0.301507, 0.904537, -0.301507) UV(0.983607, 0.601947) +V 884: Pos(-3.325, -5.9, 5.8) Norm(-0.301507, 0.904537, 0.301507) UV(0.987706, 0.654201) +V 885: Pos(-4.825, -5.9, 5.8) Norm(0.301509, 0.904535, 0.301512) UV(0.967214, 0.97541) +V 886: Pos(-3.325, -6.1, 7.075) Norm(-0.301507, -0.904536, -0.301511) UV(0.975411, 0.928279) +V 887: Pos(-2.175, -5.9, 7.075) Norm(0.301507, 0.904537, -0.301507) UV(0.983607, 0.654201) +V 888: Pos(-0.675, -5.9, 5.8) Norm(-0.301507, 0.904537, 0.301507) UV(0.987706, 0.706455) +V 889: Pos(-2.175, -5.9, 5.8) Norm(0.301509, 0.904535, 0.301512) UV(0.979509, 0.959016) +V 890: Pos(-0.675, -6.1, 7.075) Norm(-0.301508, -0.904539, -0.301499) UV(0.545082, 0.983607) +V 891: Pos(0.475, -5.9, 7.075) Norm(0.301507, 0.904537, -0.301508) UV(0.983607, 0.706455) +V 892: Pos(1.975, -5.9, 5.8) Norm(-0.301507, 0.904537, 0.301507) UV(0.987706, 0.758709) +V 893: Pos(0.475, -5.9, 5.8) Norm(0.301516, 0.90453, 0.301518) UV(0.553279, 0.983607) +V 894: Pos(1.975, -6.1, 7.075) Norm(-0.301508, -0.90454, -0.301497) UV(0.553279, 0.983607) +V 895: Pos(3.125, -5.9, 7.075) Norm(0.301507, 0.904536, -0.301511) UV(0.983607, 0.758709) +V 896: Pos(4.625, -5.9, 5.8) Norm(-0.301507, 0.904537, 0.301507) UV(0.987706, 0.810963) +V 897: Pos(3.125, -5.9, 5.8) Norm(0.301509, 0.904535, 0.301512) UV(0.688525, 0.932377) +V 898: Pos(4.625, -6.1, 7.075) Norm(-0.301507, -0.904537, -0.301507) UV(0.688525, 0.932377) +V 899: Pos(5.775, -5.9, 7.075) Norm(0.301507, 0.904538, -0.301503) UV(0.983607, 0.810963) +V 900: Pos(7.275, -5.9, 5.8) Norm(-0.301507, 0.904537, 0.301508) UV(0.987706, 0.863217) +V 901: Pos(5.775, -5.9, 5.8) Norm(0.301509, 0.904535, 0.301511) UV(0.561476, 0.983607) +V 902: Pos(7.275, -6.1, 7.075) Norm(-0.301506, -0.904535, -0.301514) UV(0.561476, 0.983607) +V 903: Pos(8.424999, -5.9, 7.075) Norm(0.301507, 0.904536, -0.301511) UV(0.983607, 0.863217) +V 904: Pos(9.924999, -5.9, 5.8) Norm(-0.301511, 0.904534, 0.301512) UV(0.987706, 0.915471) +V 905: Pos(8.424999, -5.9, 5.8) Norm(0.301509, 0.904534, 0.301512) UV(0.696722, 0.932377) +V 906: Pos(9.924999, -6.1, 7.075) Norm(-0.301507, -0.904537, -0.301507) UV(0.655738, 0.963115) +V 907: Pos(11.075001, -5.9, 7.075) Norm(0.301511, 0.904534, -0.30151) UV(0.983607, 0.915472) +V 908: Pos(12.575001, -5.9, 5.8) Norm(-0.301511, 0.904534, 0.301512) UV(0.987706, 0.967726) +V 909: Pos(11.075001, -5.9, 5.8) Norm(0.301505, 0.904538, 0.301507) UV(0.569672, 0.983607) +V 910: Pos(12.575001, -6.1, 7.075) Norm(-0.301511, -0.904534, -0.301511) UV(0.569672, 0.983607) +V 911: Pos(13.725, -5.9, 7.075) Norm(0.301511, 0.904533, -0.301513) UV(0.655738, 0.963115) +V 912: Pos(15.225, -5.9, 5.8) Norm(-0.301515, 0.904532, 0.301515) UV(0.663935, 0.989242) +V 913: Pos(13.725, -5.9, 5.8) Norm(0.301505, 0.904538, 0.301507) UV(0.577869, 0.983606) +V 914: Pos(15.225, -6.1, 7.075) Norm(-0.301512, -0.904534, -0.301512) UV(0.577869, 0.983607) +V 915: Pos(15.9, 6.1, 7.5) Norm(-0.577346, 0.577354, 0.577351) UV(0.391394, 0.651639) +V 916: Pos(16.099998, 6.1, 7.5) Norm(0.57735, 0.57735, 0.57735) UV(0.233607, 0.811475) +V 917: Pos(16.099998, -6.1, 7.5) Norm(0.577346, -0.577354, 0.577351) UV(0.545082, 0.651639) +V 918: Pos(15.9, -6.1, 7.5) Norm(-0.57735, -0.57735, 0.57735) UV(0.967214, 0.651639) +V 919: Pos(16.099998, -6.1, 0.0) Norm(0.57735, -0.57735, -0.57735) UV(0.213115, 0.647541) +V 920: Pos(15.9, -6.1, 7.5) Norm(-0.57735, -0.57735, 0.57735) UV(0.217213, 0.647541) +V 921: Pos(-15.9, 1.6, 7.5) Norm(-0.577347, 0.577354, 0.577349) UV(0.586066, 0.901639) +V 922: Pos(-10.200001, 1.6, 7.0) Norm(0.301517, 0.904531, -0.301515) UV(0.862705, 0.370902) +V 923: Pos(-10.200001, 1.6, 5.0) Norm(0.57735, 0.57735, -0.57735) UV(0.903689, 0.370902) +V 924: Pos(-15.9, 1.6, 5.0) Norm(-0.577363, 0.577324, -0.577363) UV(0.903689, 0.487705) +V 925: Pos(7.9, 1.6, 5.0) Norm(0.577358, 0.577334, -0.577358) UV(0.903689, -0.0) +V 926: Pos(7.0, 1.6, 7.0) Norm(-0.301518, 0.904532, -0.301511) UV(0.862705, 0.018443) +V 927: Pos(7.0, 1.6, 5.0) Norm(-0.577356, 0.577356, -0.577338) UV(0.903689, 0.018443) +V 928: Pos(-15.9, 1.6, 7.5) Norm(-0.577347, 0.577354, 0.577349) UV(0.852459, 0.487705) +V 929: Pos(-2.2, 1.6, 5.0) Norm(0.577364, 0.577329, -0.577357) UV(0.903689, 0.206967) +V 930: Pos(-9.0, 1.6, 5.0) Norm(-0.577348, 0.577348, -0.577356) UV(0.903689, 0.346311) +V 931: Pos(-9.0, 1.6, 7.0) Norm(-0.301519, 0.904531, -0.301512) UV(0.862705, 0.346311) +V 932: Pos(5.799999, 1.6, 7.0) Norm(0.301515, 0.904531, -0.301515) UV(0.862705, 0.043033) +V 933: Pos(5.799999, 1.6, 5.0) Norm(0.577355, 0.577348, -0.577348) UV(0.903689, 0.043033) +V 934: Pos(-1.0, 1.6, 5.0) Norm(-0.577357, 0.577329, -0.577365) UV(0.903689, 0.182377) +V 935: Pos(7.9, 1.4, 7.5) Norm(0.577366, -0.577316, 0.577368) UV(0.590164, 0.901639) +V 936: Pos(7.0, 1.4, 7.0) Norm(-0.301515, -0.904532, -0.301515) UV(0.913935, 0.469262) +V 937: Pos(7.0, 1.4, 5.0) Norm(-0.577355, -0.577348, -0.577348) UV(0.954918, 0.469262) +V 938: Pos(7.9, 1.4, 5.0) Norm(0.57737, -0.577337, -0.577344) UV(0.954918, 0.487705) +V 939: Pos(-15.9, 1.4, 7.5) Norm(-0.577354, -0.577352, 0.577345) UV(0.903689, 0.0) +V 940: Pos(-15.9, 1.4, 5.0) Norm(-0.57736, -0.57733, -0.57736) UV(0.954918, 0.0) +V 941: Pos(-10.200001, 1.4, 7.0) Norm(0.301514, -0.904533, -0.301511) UV(0.913935, 0.116803) +V 942: Pos(-10.200001, 1.4, 5.0) Norm(0.577352, -0.577345, -0.577354) UV(0.954918, 0.116803) +V 943: Pos(-1.0, 1.4, 5.0) Norm(-0.577364, -0.577329, -0.577357) UV(0.954918, 0.305328) +V 944: Pos(5.799999, 1.4, 5.0) Norm(0.577348, -0.577348, -0.577356) UV(0.954918, 0.444672) +V 945: Pos(5.799999, 1.4, 7.0) Norm(0.301519, -0.904531, -0.301512) UV(0.913935, 0.444672) +V 946: Pos(-9.0, 1.4, 7.0) Norm(-0.301515, -0.904531, -0.301515) UV(0.913935, 0.141393) +V 947: Pos(-9.0, 1.4, 5.0) Norm(-0.577355, -0.577348, -0.577348) UV(0.954918, 0.141393) +V 948: Pos(-2.2, 1.4, 5.0) Norm(0.577357, -0.577329, -0.577365) UV(0.954918, 0.280738) +V 949: Pos(-2.2, 1.6, 5.0) Norm(0.577364, 0.577329, -0.577357) UV(0.967214, 0.944672) +V 950: Pos(5.799999, 1.6, 5.0) Norm(0.577355, 0.577348, -0.577348) UV(0.971312, 0.930328) +V 951: Pos(7.0, 1.4, 5.0) Norm(-0.577355, -0.577348, -0.577348) UV(0.692624, 0.963115) +V 952: Pos(-10.200001, 1.6, 5.0) Norm(0.57735, 0.57735, -0.57735) UV(0.979509, 0.256148) +V 953: Pos(-15.9, 1.4, 7.5) Norm(-0.577354, -0.577352, 0.577345) UV(0.971312, 0.487705) +V 954: Pos(-10.200001, 1.4, 7.0) Norm(0.301514, -0.904533, -0.301511) UV(0.610656, 0.901639) +V 955: Pos(-9.0, 1.6, 5.0) Norm(-0.577348, 0.577348, -0.577356) UV(0.614754, 0.942623) +V 956: Pos(-9.0, 1.4, 7.0) Norm(-0.301515, -0.904531, -0.301515) UV(0.668033, 0.987705) +V 957: Pos(-2.2, 1.6, 7.0) Norm(0.301511, 0.904534, -0.301511) UV(0.614754, 0.901639) +V 958: Pos(-1.0, 1.6, 5.0) Norm(-0.577357, 0.577329, -0.577365) UV(0.622951, 0.942623) +V 959: Pos(-1.0, 1.4, 7.0) Norm(-0.301511, -0.904534, -0.30151) UV(0.684427, 0.987705) +V 960: Pos(5.799999, 1.6, 7.0) Norm(0.301515, 0.904531, -0.301515) UV(0.622951, 0.901639) +V 961: Pos(7.0, 1.6, 5.0) Norm(-0.577356, 0.577356, -0.577338) UV(0.631148, 0.942623) +V 962: Pos(7.0, 1.4, 7.0) Norm(-0.301515, -0.904532, -0.301515) UV(0.672132, 0.987705) +V 963: Pos(-15.9, -1.4, 7.5) Norm(-0.577347, 0.577354, 0.577349) UV(0.594263, 0.901639) +V 964: Pos(-10.200001, -1.4, 7.0) Norm(0.301517, 0.904531, -0.301514) UV(0.862705, 0.858607) +V 965: Pos(-10.200001, -1.4, 5.0) Norm(0.57735, 0.57735, -0.57735) UV(0.903689, 0.858607) +V 966: Pos(-15.9, -1.4, 5.0) Norm(-0.577363, 0.577324, -0.577363) UV(0.903689, 0.97541) +V 967: Pos(7.9, -1.4, 5.0) Norm(0.577358, 0.577334, -0.577358) UV(0.903689, 0.487705) +V 968: Pos(7.0, -1.4, 7.0) Norm(-0.301518, 0.904532, -0.301511) UV(0.862705, 0.506147) +V 969: Pos(7.0, -1.4, 5.0) Norm(-0.577356, 0.577356, -0.577338) UV(0.903689, 0.506147) +V 970: Pos(-15.9, -1.4, 7.5) Norm(-0.577347, 0.577354, 0.577349) UV(0.852459, 0.97541) +V 971: Pos(-2.2, -1.4, 5.0) Norm(0.577364, 0.577329, -0.577357) UV(0.903689, 0.694672) +V 972: Pos(-9.0, -1.4, 5.0) Norm(-0.577348, 0.577348, -0.577356) UV(0.903689, 0.834016) +V 973: Pos(-9.0, -1.4, 7.0) Norm(-0.301519, 0.904531, -0.301512) UV(0.862705, 0.834016) +V 974: Pos(5.799999, -1.4, 7.0) Norm(0.301515, 0.904531, -0.301515) UV(0.862705, 0.530738) +V 975: Pos(5.799999, -1.4, 5.0) Norm(0.577355, 0.577348, -0.577348) UV(0.903689, 0.530738) +V 976: Pos(-1.0, -1.4, 5.0) Norm(-0.577357, 0.577329, -0.577365) UV(0.903689, 0.670082) +V 977: Pos(7.9, -1.6, 7.5) Norm(0.577366, -0.577316, 0.577368) UV(0.598361, 0.901639) +V 978: Pos(7.0, -1.6, 7.0) Norm(-0.301515, -0.904532, -0.301515) UV(0.913935, 0.956967) +V 979: Pos(7.0, -1.6, 5.0) Norm(-0.577355, -0.577348, -0.577348) UV(0.954918, 0.956967) +V 980: Pos(7.9, -1.6, 5.0) Norm(0.57737, -0.577337, -0.577344) UV(0.954918, 0.97541) +V 981: Pos(-15.9, -1.6, 7.5) Norm(-0.577354, -0.577352, 0.577345) UV(0.903689, 0.487705) +V 982: Pos(-15.9, -1.6, 5.0) Norm(-0.57736, -0.57733, -0.57736) UV(0.954919, 0.487705) +V 983: Pos(-10.200001, -1.6, 7.0) Norm(0.301514, -0.904533, -0.301512) UV(0.913935, 0.604508) +V 984: Pos(-10.200001, -1.6, 5.0) Norm(0.577352, -0.577345, -0.577354) UV(0.954919, 0.604508) +V 985: Pos(-1.0, -1.6, 5.0) Norm(-0.577364, -0.577329, -0.577357) UV(0.954919, 0.793033) +V 986: Pos(5.799999, -1.6, 5.0) Norm(0.577348, -0.577348, -0.577356) UV(0.954918, 0.932377) +V 987: Pos(5.799999, -1.6, 7.0) Norm(0.301519, -0.904531, -0.301512) UV(0.913935, 0.932377) +V 988: Pos(-9.0, -1.6, 7.0) Norm(-0.301515, -0.904531, -0.301515) UV(0.913935, 0.629098) +V 989: Pos(-9.0, -1.6, 5.0) Norm(-0.577355, -0.577348, -0.577348) UV(0.954919, 0.629098) +V 990: Pos(-2.2, -1.6, 5.0) Norm(0.577357, -0.577329, -0.577365) UV(0.954919, 0.768443) +V 991: Pos(-2.2, -1.4, 5.0) Norm(0.577364, 0.577329, -0.577357) UV(0.971312, 0.790984) +V 992: Pos(5.799999, -1.4, 5.0) Norm(0.577355, 0.577348, -0.577348) UV(0.979509, 0.139344) +V 993: Pos(7.0, -1.6, 5.0) Norm(-0.577355, -0.577348, -0.577348) UV(0.229508, 0.965164) +V 994: Pos(-10.200001, -1.4, 5.0) Norm(0.57735, 0.57735, -0.57735) UV(0.979509, 0.372951) +V 995: Pos(-15.9, -1.6, 7.5) Norm(-0.577354, -0.577352, 0.577345) UV(0.971312, 0.97541) +V 996: Pos(-10.200001, -1.6, 7.0) Norm(0.301514, -0.904533, -0.301512) UV(0.635246, 0.901639) +V 997: Pos(-9.0, -1.4, 5.0) Norm(-0.577348, 0.577348, -0.577356) UV(0.639345, 0.942623) +V 998: Pos(-9.0, -1.6, 7.0) Norm(-0.301515, -0.904531, -0.301515) UV(0.67623, 0.987705) +V 999: Pos(-2.2, -1.4, 7.0) Norm(0.301511, 0.904534, -0.301511) UV(0.639345, 0.901639) +V 1000: Pos(-1.0, -1.4, 5.0) Norm(-0.577357, 0.577329, -0.577365) UV(0.647541, 0.942623) +V 1001: Pos(-1.0, -1.6, 7.0) Norm(-0.301511, -0.904534, -0.301512) UV(0.688525, 0.987705) +V 1002: Pos(5.799999, -1.4, 7.0) Norm(0.301515, 0.904531, -0.301515) UV(0.647541, 0.901639) +V 1003: Pos(7.0, -1.4, 5.0) Norm(-0.577356, 0.577356, -0.577338) UV(0.655738, 0.942623) +V 1004: Pos(7.0, -1.6, 7.0) Norm(-0.301515, -0.904532, -0.301515) UV(0.680328, 0.987705) +V 1005: Pos(-8.1, 5.9, 7.5) Norm(-0.577344, 0.577353, 0.577354) UV(0.80123, 0.893443) +V 1006: Pos(-7.9, 5.9, 7.5) Norm(0.577347, 0.577352, 0.577352) UV(0.229508, 0.811475) +V 1007: Pos(-7.9, 1.6, 7.5) Norm(0.577344, -0.577353, 0.577354) UV(0.17623, 0.897541) +V 1008: Pos(-8.1, 1.6, 7.5) Norm(-0.577347, -0.577352, 0.577352) UV(0.54918, 0.901639) +V 1009: Pos(-7.9, 1.6, 5.0) Norm(0.577347, -0.577352, -0.577352) UV(0.979509, 0.102459) +V 1010: Pos(-8.1, 1.6, 7.5) Norm(-0.577347, -0.577352, 0.577352) UV(0.979509, 0.190574) +V 1011: Pos(-8.1, -1.6, 7.5) Norm(-0.577344, 0.577353, 0.577354) UV(0.237705, 0.901639) +V 1012: Pos(-7.9, -1.6, 7.5) Norm(0.577347, 0.577352, 0.577352) UV(0.553279, 0.901639) +V 1013: Pos(-7.9, -5.9, 7.5) Norm(0.577344, -0.577353, 0.577354) UV(0.288935, 0.901639) +V 1014: Pos(-8.1, -5.9, 7.5) Norm(-0.577347, -0.577352, 0.577352) UV(0.557377, 0.901639) +V 1015: Pos(-7.9, -5.9, 5.0) Norm(0.577347, -0.577352, -0.577352) UV(0.979509, 0.278689) +V 1016: Pos(-8.1, -5.9, 7.5) Norm(-0.577347, -0.577352, 0.577352) UV(0.979509, 0.366803) +V 1017: Pos(-0.1, 5.9, 7.5) Norm(-0.577344, 0.577353, 0.577354) UV(0.340164, 0.901639) +V 1018: Pos(0.1, 5.9, 7.5) Norm(0.577347, 0.577352, 0.577352) UV(0.561476, 0.901639) +V 1019: Pos(0.1, 1.6, 7.5) Norm(0.577344, -0.577353, 0.577354) UV(0.391394, 0.901639) +V 1020: Pos(-0.1, 1.6, 7.5) Norm(-0.577347, -0.577352, 0.577352) UV(0.565574, 0.901639) +V 1021: Pos(0.1, 1.6, 5.0) Norm(0.577347, -0.577352, -0.577352) UV(0.979509, 0.454918) +V 1022: Pos(-0.1, 1.6, 7.5) Norm(-0.577347, -0.577352, 0.577352) UV(0.979509, 0.543033) +V 1023: Pos(-0.1, -1.6, 7.5) Norm(-0.577344, 0.577353, 0.577354) UV(0.442623, 0.901639) +V 1024: Pos(0.1, -1.6, 7.5) Norm(0.577347, 0.577352, 0.577352) UV(0.569672, 0.901639) +V 1025: Pos(0.1, -5.9, 7.5) Norm(0.577344, -0.577353, 0.577354) UV(0.493853, 0.901639) +V 1026: Pos(-0.1, -5.9, 7.5) Norm(-0.577347, -0.577352, 0.577352) UV(0.573771, 0.901639) +V 1027: Pos(0.1, -5.9, 5.0) Norm(0.577347, -0.577352, -0.577352) UV(0.979509, 0.631148) +V 1028: Pos(-0.1, -5.9, 7.5) Norm(-0.577347, -0.577352, 0.577352) UV(0.979509, 0.719262) +V 1029: Pos(7.9, -0.6, 5.0) Norm(-0.577347, 0.577347, -0.577356) UV(0.204918, 0.780738) +V 1030: Pos(7.9, -5.9, 5.0) Norm(-0.577327, -0.577366, -0.577357) UV(0.204918, 0.889344) +V 1031: Pos(7.9, 5.9, 5.0) Norm(-0.577327, 0.577357, -0.577366) UV(0.204918, 0.647541) +V 1032: Pos(7.9, 0.6, 7.0) Norm(-0.904532, -0.301517, -0.301513) UV(0.163934, 0.756148) +V 1033: Pos(7.9, 0.6, 5.0) Norm(-0.57735, -0.57735, -0.57735) UV(0.204918, 0.756148) +V 1034: Pos(8.1, 5.9, 7.5) Norm(0.577355, 0.577348, 0.577348) UV(0.577869, 0.901639) +V 1035: Pos(8.1, 0.6, 5.0) Norm(0.577345, -0.577352, -0.577354) UV(0.852459, 0.784836) +V 1036: Pos(8.1, 5.9, 5.0) Norm(0.577327, 0.577366, -0.577357) UV(0.852459, 0.893443) +V 1037: Pos(8.1, -5.9, 5.0) Norm(0.577327, -0.577357, -0.577366) UV(0.852459, 0.651639) +V 1038: Pos(8.1, -0.6, 7.0) Norm(0.904533, 0.301513, -0.301513) UV(0.811476, 0.760246) +V 1039: Pos(8.1, -0.6, 5.0) Norm(0.577348, 0.577355, -0.577348) UV(0.852459, 0.760246) +V 1040: Pos(7.9, -5.9, 7.5) Norm(-0.577355, -0.577348, 0.577348) UV(0.581967, 0.901639) +V 1041: Pos(7.9, -5.9, 5.0) Norm(-0.577327, -0.577366, -0.577357) UV(0.979509, 0.372951) +V 1042: Pos(8.1, 5.9, 5.0) Norm(0.577327, 0.577366, -0.577357) UV(0.975411, 0.590164) +V 1043: Pos(7.9, -5.9, 7.5) Norm(-0.577355, -0.577348, 0.577348) UV(0.221311, 0.647541) +V 1044: Pos(7.9, 0.6, 5.0) Norm(-0.57735, -0.57735, -0.57735) UV(0.602459, 0.942623) +V 1045: Pos(8.1, -0.6, 7.0) Norm(0.904533, 0.301513, -0.301513) UV(0.606558, 0.901639) +V 1046: Pos(8.1, -0.6, 7.0) Norm(0.904533, 0.301513, -0.301513) UV(0.663935, 0.963115) +V 1047: Pos(-15.925754, 1.4, 5.0) Norm(0.0, 0.0, 1.0) UV(0.147541, 0.647541) +V 1048: Pos(-15.925754, -5.9, 5.0) Norm(0.0, 0.0, 1.0) UV(0.0, 0.647541) +V 1049: Pos(15.911287, -5.9, 5.0) Norm(-0.0, 0.0, 1.0) UV(0.0, 0.0) +V 1050: Pos(-15.8, 5.8, 5.0) Norm(0.0, 0.0, 1.0) UV(0.237705, 0.647541) +V 1051: Pos(-8.1, 5.9, 5.0) Norm(-0.577344, 0.577353, 0.577354) UV(0.088115, 0.897541) +V 1052: Pos(-7.9, 5.9, 5.0) Norm(0.577369, 0.577341, 0.577341) UV(0.979509, 0.590164) +V 1053: Pos(-7.9, 1.6, 5.0) Norm(0.577344, -0.577353, 0.577354) UV(0.17623, 0.897541) +V 1054: Pos(-8.1, 1.6, 5.0) Norm(-0.577369, -0.577341, 0.577341) UV(0.979509, 0.692623) +V 1055: Pos(-7.9, 1.6, 0.0) Norm(0.577369, -0.577341, -0.577341) UV(0.979509, 0.807377) +V 1056: Pos(-8.1, 1.6, 5.0) Norm(-0.577369, -0.577341, 0.577341) UV(0.979509, 0.895492) +V 1057: Pos(-16.0, 1.6, 5.0) Norm(-0.577348, 0.577349, 0.577354) UV(0.979509, 0.795082) +V 1058: Pos(-8.0, 1.6, 5.0) Norm(0.577356, 0.577347, 0.577347) UV(0.698771, 0.651639) +V 1059: Pos(-8.0, 1.4, 5.0) Norm(0.577348, -0.577349, 0.577354) UV(0.983607, 0.0) +V 1060: Pos(-16.0, 1.4, 5.0) Norm(-0.577356, -0.577347, 0.577347) UV(0.698771, 0.815574) +V 1061: Pos(-8.0, 1.4, 0.0) Norm(0.577356, -0.577347, -0.577347) UV(0.22541, 0.811475) +V 1062: Pos(-16.0, 1.4, 5.0) Norm(-0.577356, -0.577347, 0.577347) UV(0.229508, 0.811475) + +===Triangles (Indices): 753 +Tri: 0 1 2 +Tri: 3 4 5 +Tri: 6 7 8 +Tri: 9 10 11 +Tri: 12 13 14 +Tri: 15 16 17 +Tri: 18 19 20 +Tri: 21 22 23 +Tri: 24 21 25 +Tri: 26 27 28 +Tri: 29 30 31 +Tri: 32 33 34 +Tri: 35 36 37 +Tri: 28 38 39 +Tri: 40 41 27 +Tri: 42 24 43 +Tri: 44 45 46 +Tri: 47 48 49 +Tri: 50 51 52 +Tri: 53 54 55 +Tri: 56 57 58 +Tri: 59 60 61 +Tri: 62 63 64 +Tri: 65 66 67 +Tri: 68 69 70 +Tri: 71 72 73 +Tri: 74 75 76 +Tri: 67 77 78 +Tri: 79 64 66 +Tri: 80 81 82 +Tri: 83 84 85 +Tri: 86 87 88 +Tri: 89 90 91 +Tri: 92 93 94 +Tri: 95 96 97 +Tri: 98 99 100 +Tri: 101 102 103 +Tri: 104 105 106 +Tri: 107 108 109 +Tri: 110 111 112 +Tri: 113 114 115 +Tri: 116 117 118 +Tri: 119 120 121 +Tri: 122 123 124 +Tri: 125 126 127 +Tri: 128 129 130 +Tri: 131 132 133 +Tri: 134 135 136 +Tri: 137 138 139 +Tri: 140 141 142 +Tri: 143 144 145 +Tri: 146 147 148 +Tri: 149 150 151 +Tri: 152 153 154 +Tri: 155 156 157 +Tri: 158 159 160 +Tri: 161 162 163 +Tri: 164 165 166 +Tri: 167 168 169 +Tri: 170 171 172 +Tri: 173 174 175 +Tri: 176 177 178 +Tri: 179 180 181 +Tri: 182 183 184 +Tri: 185 186 187 +Tri: 188 189 190 +Tri: 191 192 193 +Tri: 194 195 196 +Tri: 197 198 199 +Tri: 200 201 202 +Tri: 203 204 205 +Tri: 206 207 208 +Tri: 209 210 211 +Tri: 212 213 214 +Tri: 215 216 217 +Tri: 218 219 220 +Tri: 221 222 223 +Tri: 224 225 226 +Tri: 227 228 229 +Tri: 230 231 232 +Tri: 233 234 235 +Tri: 236 237 238 +Tri: 239 240 241 +Tri: 242 243 244 +Tri: 245 246 247 +Tri: 248 249 250 +Tri: 251 248 252 +Tri: 253 254 255 +Tri: 256 257 258 +Tri: 259 260 261 +Tri: 262 263 264 +Tri: 255 265 266 +Tri: 267 268 254 +Tri: 269 251 270 +Tri: 271 272 273 +Tri: 274 275 276 +Tri: 277 278 279 +Tri: 280 281 282 +Tri: 283 284 285 +Tri: 286 287 288 +Tri: 289 290 291 +Tri: 292 293 294 +Tri: 295 296 297 +Tri: 298 299 300 +Tri: 301 302 303 +Tri: 294 304 305 +Tri: 306 291 293 +Tri: 307 308 309 +Tri: 310 311 312 +Tri: 313 314 315 +Tri: 316 317 318 +Tri: 319 320 321 +Tri: 322 323 324 +Tri: 325 326 327 +Tri: 328 329 330 +Tri: 331 332 333 +Tri: 334 335 336 +Tri: 337 338 339 +Tri: 340 341 342 +Tri: 343 344 345 +Tri: 346 347 348 +Tri: 349 350 351 +Tri: 352 353 354 +Tri: 355 356 357 +Tri: 358 359 360 +Tri: 361 362 363 +Tri: 364 365 366 +Tri: 367 368 369 +Tri: 370 371 372 +Tri: 373 374 375 +Tri: 376 377 378 +Tri: 379 380 381 +Tri: 382 383 384 +Tri: 385 386 387 +Tri: 388 389 390 +Tri: 391 392 393 +Tri: 394 395 396 +Tri: 397 398 399 +Tri: 400 401 402 +Tri: 403 404 405 +Tri: 406 407 408 +Tri: 409 410 411 +Tri: 412 413 414 +Tri: 415 416 417 +Tri: 418 419 420 +Tri: 421 422 423 +Tri: 424 425 426 +Tri: 427 428 429 +Tri: 430 431 432 +Tri: 433 434 435 +Tri: 436 437 438 +Tri: 439 440 441 +Tri: 442 443 444 +Tri: 445 446 447 +Tri: 448 449 450 +Tri: 451 452 453 +Tri: 454 455 456 +Tri: 457 458 459 +Tri: 460 461 462 +Tri: 463 464 465 +Tri: 466 467 468 +Tri: 469 470 471 +Tri: 472 473 474 +Tri: 475 476 477 +Tri: 478 479 480 +Tri: 481 482 483 +Tri: 484 485 486 +Tri: 487 488 489 +Tri: 490 491 492 +Tri: 493 494 495 +Tri: 496 497 498 +Tri: 499 500 501 +Tri: 502 503 504 +Tri: 505 506 507 +Tri: 508 509 510 +Tri: 511 512 513 +Tri: 514 515 516 +Tri: 517 518 519 +Tri: 520 521 522 +Tri: 523 524 525 +Tri: 526 527 528 +Tri: 529 530 531 +Tri: 532 533 534 +Tri: 535 536 537 +Tri: 538 539 540 +Tri: 541 542 543 +Tri: 544 545 546 +Tri: 547 548 549 +Tri: 550 551 552 +Tri: 553 554 555 +Tri: 556 557 558 +Tri: 559 560 561 +Tri: 562 563 564 +Tri: 565 566 567 +Tri: 568 569 570 +Tri: 571 572 573 +Tri: 574 575 576 +Tri: 577 578 579 +Tri: 580 581 582 +Tri: 583 584 585 +Tri: 586 587 588 +Tri: 589 590 591 +Tri: 592 593 594 +Tri: 595 596 597 +Tri: 598 599 600 +Tri: 601 602 603 +Tri: 604 605 606 +Tri: 607 608 609 +Tri: 610 611 612 +Tri: 613 614 615 +Tri: 616 617 618 +Tri: 619 620 621 +Tri: 622 623 624 +Tri: 625 626 627 +Tri: 628 629 630 +Tri: 631 632 633 +Tri: 634 635 636 +Tri: 637 638 639 +Tri: 640 641 642 +Tri: 643 644 645 +Tri: 646 647 648 +Tri: 649 650 651 +Tri: 652 653 654 +Tri: 655 656 657 +Tri: 658 659 660 +Tri: 661 662 663 +Tri: 664 665 666 +Tri: 667 668 669 +Tri: 670 671 672 +Tri: 673 674 675 +Tri: 676 677 678 +Tri: 679 680 681 +Tri: 682 683 684 +Tri: 685 686 687 +Tri: 688 689 690 +Tri: 691 692 693 +Tri: 694 695 696 +Tri: 697 698 699 +Tri: 700 701 702 +Tri: 703 704 705 +Tri: 706 707 708 +Tri: 709 710 711 +Tri: 712 713 714 +Tri: 715 716 717 +Tri: 718 719 720 +Tri: 721 722 723 +Tri: 724 725 726 +Tri: 727 728 729 +Tri: 730 731 732 +Tri: 733 734 735 +Tri: 736 737 738 +Tri: 0 739 1 +Tri: 3 740 4 +Tri: 6 741 7 +Tri: 9 742 10 +Tri: 12 743 13 +Tri: 15 744 16 +Tri: 18 745 19 +Tri: 21 746 22 +Tri: 746 21 747 +Tri: 21 29 41 +Tri: 747 21 54 +Tri: 29 31 748 +Tri: 29 748 749 +Tri: 54 21 750 +Tri: 750 21 51 +Tri: 29 749 33 +Tri: 29 33 751 +Tri: 51 21 752 +Tri: 752 21 48 +Tri: 29 751 36 +Tri: 29 36 753 +Tri: 48 21 754 +Tri: 754 21 45 +Tri: 29 753 38 +Tri: 29 38 755 +Tri: 45 21 756 +Tri: 756 21 24 +Tri: 29 755 41 +Tri: 41 25 21 +Tri: 757 29 758 +Tri: 29 26 758 +Tri: 26 23 27 +Tri: 23 22 53 +Tri: 23 53 55 +Tri: 31 30 759 +Tri: 759 758 26 +Tri: 23 55 50 +Tri: 23 50 52 +Tri: 31 759 760 +Tri: 759 26 760 +Tri: 23 52 47 +Tri: 23 47 49 +Tri: 761 760 26 +Tri: 749 748 761 +Tri: 762 749 761 +Tri: 23 49 44 +Tri: 23 44 46 +Tri: 762 761 26 +Tri: 34 762 26 +Tri: 23 46 42 +Tri: 23 42 43 +Tri: 32 34 26 +Tri: 37 32 26 +Tri: 23 43 40 +Tri: 23 40 27 +Tri: 35 37 26 +Tri: 39 35 26 +Tri: 28 39 26 +Tri: 29 757 30 +Tri: 32 751 33 +Tri: 35 753 36 +Tri: 28 755 38 +Tri: 40 25 41 +Tri: 42 756 24 +Tri: 44 754 45 +Tri: 47 752 48 +Tri: 50 750 51 +Tri: 53 747 54 +Tri: 56 763 57 +Tri: 59 764 60 +Tri: 765 60 764 +Tri: 62 65 766 +Tri: 65 767 766 +Tri: 765 764 93 +Tri: 764 62 64 +Tri: 93 764 768 +Tri: 768 764 90 +Tri: 62 766 769 +Tri: 62 769 770 +Tri: 90 764 771 +Tri: 771 764 87 +Tri: 62 770 69 +Tri: 62 69 772 +Tri: 87 764 773 +Tri: 773 764 84 +Tri: 62 772 72 +Tri: 62 72 774 +Tri: 84 764 775 +Tri: 775 764 81 +Tri: 62 774 75 +Tri: 62 75 776 +Tri: 81 764 777 +Tri: 777 764 64 +Tri: 62 776 77 +Tri: 62 77 63 +Tri: 778 767 65 +Tri: 65 59 66 +Tri: 59 61 92 +Tri: 59 92 94 +Tri: 770 769 778 +Tri: 59 94 89 +Tri: 59 89 91 +Tri: 779 770 778 +Tri: 59 91 86 +Tri: 59 86 88 +Tri: 779 778 65 +Tri: 70 779 65 +Tri: 59 88 83 +Tri: 59 83 85 +Tri: 68 70 65 +Tri: 73 68 65 +Tri: 59 85 80 +Tri: 59 80 82 +Tri: 71 73 65 +Tri: 76 71 65 +Tri: 59 82 79 +Tri: 59 79 66 +Tri: 74 76 65 +Tri: 78 74 65 +Tri: 67 78 65 +Tri: 68 772 69 +Tri: 71 774 72 +Tri: 74 776 75 +Tri: 67 63 77 +Tri: 79 777 64 +Tri: 80 775 81 +Tri: 83 773 84 +Tri: 86 771 87 +Tri: 89 768 90 +Tri: 92 765 93 +Tri: 95 780 96 +Tri: 98 781 99 +Tri: 101 782 102 +Tri: 104 783 105 +Tri: 107 784 108 +Tri: 110 785 111 +Tri: 113 786 114 +Tri: 116 787 117 +Tri: 119 788 120 +Tri: 122 789 123 +Tri: 125 790 126 +Tri: 128 791 129 +Tri: 131 792 132 +Tri: 134 793 135 +Tri: 137 794 138 +Tri: 140 795 141 +Tri: 143 796 144 +Tri: 146 797 147 +Tri: 149 798 150 +Tri: 152 799 153 +Tri: 155 800 156 +Tri: 158 801 159 +Tri: 161 802 162 +Tri: 164 803 165 +Tri: 167 804 168 +Tri: 170 805 171 +Tri: 173 806 174 +Tri: 176 807 177 +Tri: 179 808 180 +Tri: 182 809 183 +Tri: 185 810 186 +Tri: 188 811 189 +Tri: 191 812 192 +Tri: 194 813 195 +Tri: 197 814 198 +Tri: 200 815 201 +Tri: 203 816 204 +Tri: 206 817 207 +Tri: 209 818 210 +Tri: 212 819 213 +Tri: 215 820 216 +Tri: 218 821 219 +Tri: 221 822 222 +Tri: 224 823 225 +Tri: 227 824 228 +Tri: 230 825 231 +Tri: 233 826 234 +Tri: 236 827 237 +Tri: 239 828 240 +Tri: 242 829 243 +Tri: 245 830 246 +Tri: 248 831 249 +Tri: 831 248 832 +Tri: 248 256 268 +Tri: 832 248 281 +Tri: 256 258 833 +Tri: 256 833 834 +Tri: 281 248 835 +Tri: 835 248 278 +Tri: 256 834 260 +Tri: 256 260 836 +Tri: 278 248 837 +Tri: 837 248 275 +Tri: 256 836 263 +Tri: 256 263 838 +Tri: 275 248 839 +Tri: 839 248 272 +Tri: 256 838 265 +Tri: 256 265 840 +Tri: 272 248 841 +Tri: 841 248 251 +Tri: 256 840 268 +Tri: 268 252 248 +Tri: 842 256 843 +Tri: 256 253 843 +Tri: 253 250 254 +Tri: 250 249 280 +Tri: 250 280 282 +Tri: 258 257 844 +Tri: 844 843 253 +Tri: 250 282 277 +Tri: 250 277 279 +Tri: 258 844 845 +Tri: 844 253 845 +Tri: 250 279 274 +Tri: 250 274 276 +Tri: 846 845 253 +Tri: 834 833 846 +Tri: 847 834 846 +Tri: 250 276 271 +Tri: 250 271 273 +Tri: 847 846 253 +Tri: 261 847 253 +Tri: 250 273 269 +Tri: 250 269 270 +Tri: 259 261 253 +Tri: 264 259 253 +Tri: 250 270 267 +Tri: 250 267 254 +Tri: 262 264 253 +Tri: 266 262 253 +Tri: 255 266 253 +Tri: 256 842 257 +Tri: 259 836 260 +Tri: 262 838 263 +Tri: 255 840 265 +Tri: 267 252 268 +Tri: 269 841 251 +Tri: 271 839 272 +Tri: 274 837 275 +Tri: 277 835 278 +Tri: 280 832 281 +Tri: 283 848 284 +Tri: 286 849 287 +Tri: 850 287 849 +Tri: 289 292 851 +Tri: 292 852 851 +Tri: 850 849 320 +Tri: 849 289 291 +Tri: 320 849 853 +Tri: 853 849 317 +Tri: 289 851 854 +Tri: 289 854 855 +Tri: 317 849 856 +Tri: 856 849 314 +Tri: 289 855 296 +Tri: 289 296 857 +Tri: 314 849 858 +Tri: 858 849 311 +Tri: 289 857 299 +Tri: 289 299 859 +Tri: 311 849 860 +Tri: 860 849 308 +Tri: 289 859 302 +Tri: 289 302 861 +Tri: 308 849 862 +Tri: 862 849 291 +Tri: 289 861 304 +Tri: 289 304 290 +Tri: 863 852 292 +Tri: 292 286 293 +Tri: 286 288 319 +Tri: 286 319 321 +Tri: 855 854 863 +Tri: 286 321 316 +Tri: 286 316 318 +Tri: 864 855 863 +Tri: 286 318 313 +Tri: 286 313 315 +Tri: 864 863 292 +Tri: 297 864 292 +Tri: 286 315 310 +Tri: 286 310 312 +Tri: 295 297 292 +Tri: 300 295 292 +Tri: 286 312 307 +Tri: 286 307 309 +Tri: 298 300 292 +Tri: 303 298 292 +Tri: 286 309 306 +Tri: 286 306 293 +Tri: 301 303 292 +Tri: 305 301 292 +Tri: 294 305 292 +Tri: 295 857 296 +Tri: 298 859 299 +Tri: 301 861 302 +Tri: 294 290 304 +Tri: 306 862 291 +Tri: 307 860 308 +Tri: 310 858 311 +Tri: 313 856 314 +Tri: 316 853 317 +Tri: 319 850 320 +Tri: 322 865 323 +Tri: 325 866 326 +Tri: 328 867 329 +Tri: 331 868 332 +Tri: 334 869 335 +Tri: 337 870 338 +Tri: 340 871 341 +Tri: 343 872 344 +Tri: 346 873 347 +Tri: 349 874 350 +Tri: 352 875 353 +Tri: 355 876 356 +Tri: 358 877 359 +Tri: 361 878 362 +Tri: 364 879 365 +Tri: 367 880 368 +Tri: 370 881 371 +Tri: 373 882 374 +Tri: 376 883 377 +Tri: 379 884 380 +Tri: 382 885 383 +Tri: 385 886 386 +Tri: 388 887 389 +Tri: 391 888 392 +Tri: 394 889 395 +Tri: 397 890 398 +Tri: 400 891 401 +Tri: 403 892 404 +Tri: 406 893 407 +Tri: 409 894 410 +Tri: 412 895 413 +Tri: 415 896 416 +Tri: 418 897 419 +Tri: 421 898 422 +Tri: 424 899 425 +Tri: 427 900 428 +Tri: 430 901 431 +Tri: 433 902 434 +Tri: 436 903 437 +Tri: 439 904 440 +Tri: 442 905 443 +Tri: 445 906 446 +Tri: 448 907 449 +Tri: 451 908 452 +Tri: 454 909 455 +Tri: 457 910 458 +Tri: 460 911 461 +Tri: 463 912 464 +Tri: 466 913 467 +Tri: 469 914 470 +Tri: 472 915 473 +Tri: 475 916 476 +Tri: 478 917 479 +Tri: 481 918 482 +Tri: 484 919 485 +Tri: 487 920 488 +Tri: 490 921 491 +Tri: 922 923 924 +Tri: 493 925 926 +Tri: 925 927 926 +Tri: 922 924 928 +Tri: 929 930 931 +Tri: 931 922 928 +Tri: 928 493 495 +Tri: 493 926 932 +Tri: 932 933 934 +Tri: 493 932 494 +Tri: 495 929 931 +Tri: 932 934 494 +Tri: 495 931 928 +Tri: 496 935 497 +Tri: 936 937 938 +Tri: 939 940 941 +Tri: 940 942 941 +Tri: 936 938 499 +Tri: 943 944 945 +Tri: 945 936 499 +Tri: 499 939 500 +Tri: 939 941 946 +Tri: 946 947 948 +Tri: 939 946 500 +Tri: 501 943 945 +Tri: 946 948 500 +Tri: 501 945 499 +Tri: 502 949 503 +Tri: 505 950 506 +Tri: 508 951 509 +Tri: 511 952 512 +Tri: 514 953 515 +Tri: 517 954 518 +Tri: 520 955 521 +Tri: 523 956 524 +Tri: 526 957 527 +Tri: 529 958 530 +Tri: 532 959 533 +Tri: 535 960 536 +Tri: 538 961 539 +Tri: 541 962 542 +Tri: 544 963 545 +Tri: 964 965 966 +Tri: 547 967 968 +Tri: 967 969 968 +Tri: 964 966 970 +Tri: 971 972 973 +Tri: 973 964 970 +Tri: 970 547 549 +Tri: 547 968 974 +Tri: 974 975 976 +Tri: 547 974 548 +Tri: 549 971 973 +Tri: 974 976 548 +Tri: 549 973 970 +Tri: 550 977 551 +Tri: 978 979 980 +Tri: 981 982 983 +Tri: 982 984 983 +Tri: 978 980 553 +Tri: 985 986 987 +Tri: 987 978 553 +Tri: 553 981 554 +Tri: 981 983 988 +Tri: 988 989 990 +Tri: 981 988 554 +Tri: 555 985 987 +Tri: 988 990 554 +Tri: 555 987 553 +Tri: 556 991 557 +Tri: 559 992 560 +Tri: 562 993 563 +Tri: 565 994 566 +Tri: 568 995 569 +Tri: 571 996 572 +Tri: 574 997 575 +Tri: 577 998 578 +Tri: 580 999 581 +Tri: 583 1000 584 +Tri: 586 1001 587 +Tri: 589 1002 590 +Tri: 592 1003 593 +Tri: 595 1004 596 +Tri: 598 1005 599 +Tri: 601 1006 602 +Tri: 604 1007 605 +Tri: 607 1008 608 +Tri: 610 1009 611 +Tri: 613 1010 614 +Tri: 616 1011 617 +Tri: 619 1012 620 +Tri: 622 1013 623 +Tri: 625 1014 626 +Tri: 628 1015 629 +Tri: 631 1016 632 +Tri: 634 1017 635 +Tri: 637 1018 638 +Tri: 640 1019 641 +Tri: 643 1020 644 +Tri: 646 1021 647 +Tri: 649 1022 650 +Tri: 652 1023 653 +Tri: 655 1024 656 +Tri: 658 1025 659 +Tri: 661 1026 662 +Tri: 664 1027 665 +Tri: 667 1028 668 +Tri: 1029 1030 672 +Tri: 1030 670 672 +Tri: 671 1031 1032 +Tri: 1031 1033 1032 +Tri: 671 1032 672 +Tri: 673 1034 674 +Tri: 678 1035 1036 +Tri: 677 1037 1038 +Tri: 1037 1039 1038 +Tri: 678 1036 676 +Tri: 677 1038 678 +Tri: 679 1040 680 +Tri: 682 1041 683 +Tri: 685 1042 686 +Tri: 688 1043 689 +Tri: 691 1044 692 +Tri: 694 1045 695 +Tri: 697 1046 698 +Tri: 702 1047 1048 +Tri: 1048 1049 702 +Tri: 1049 700 702 +Tri: 1050 1050 701 +Tri: 703 1051 704 +Tri: 706 1052 707 +Tri: 709 1053 710 +Tri: 712 1054 713 +Tri: 715 1055 716 +Tri: 718 1056 719 +Tri: 721 1057 722 +Tri: 724 1058 725 +Tri: 727 1059 728 +Tri: 730 1060 731 +Tri: 733 1061 734 +Tri: 736 1062 737 diff --git a/resources/w/interior/Knife_lay001_004.txt b/resources/w/interior/Knife_lay001_004.txt new file mode 100644 index 0000000..0a66aa3 --- /dev/null +++ b/resources/w/interior/Knife_lay001_004.txt @@ -0,0 +1,122 @@ +===Vertices (Split by UV/Normal): 41 +V 0: Pos(0.246991, -0.255746, 0.0) Norm(0.389794, 0.920902, -0.0) UV(0.038153, 0.92737) +V 1: Pos(0.25971, -0.250913, -0.001532) Norm(-0.779708, 0.122736, 0.613996) UV(0.028605, 0.949655) +V 2: Pos(0.256907, -0.244648, -0.003161) Norm(-0.588958, -0.326655, 0.739206) UV(0.040105, 0.953817) +V 3: Pos(0.228644, -0.21696, 0.003161) Norm(-0.463512, -0.464075, -0.754845) UV(0.125898, 0.952246) +V 4: Pos(0.177902, -0.204162, 0.0) Norm(0.689299, 0.724477, 0.0) UV(0.213822, 0.894469) +V 5: Pos(0.192191, -0.181473, 0.003161) Norm(-0.466486, -0.466278, -0.751649) UV(0.228705, 0.94907) +V 6: Pos(0.217639, -0.238156, 0.0) Norm(0.640155, 0.768246, -3.6e-05) UV(0.110526, 0.906471) +V 7: Pos(0.228644, -0.21696, -0.003161) Norm(-0.463514, -0.464062, 0.754852) UV(0.125898, 0.952246) +V 8: Pos(0.098701, -0.116712, 0.0) Norm(0.73571, 0.677297, 5e-06) UV(0.56615, 0.898857) +V 9: Pos(0.138196, -0.126455, 0.003161) Norm(-0.456943, -0.48647, -0.744681) UV(0.479093, 0.952662) +V 10: Pos(0.13258, -0.159058, 0.0) Norm(0.719267, 0.694734, 2e-05) UV(0.435536, 0.894543) +V 11: Pos(0.106741, -0.101701, -0.003161) Norm(-0.718563, -0.054144, 0.693351) UV(0.577483, 0.934099) +V 12: Pos(0.092565, -0.110732, -0.008434) Norm(0.177423, 0.706178, 0.685445) UV(0.584767, 0.898292) +V 13: Pos(0.097489, -0.110956, 0.0) Norm(-0.281422, 0.959584, 1e-06) UV(0.576982, 0.905654) +V 14: Pos(0.106531, -0.0965, -0.008434) Norm(-0.728749, -0.169621, 0.663441) UV(0.585933, 0.941626) +V 15: Pos(0.07064, -0.084997, -0.003947) Norm(0.531864, 0.47551, 0.700722) UV(0.657157, 0.899274) +V 16: Pos(0.07064, -0.084997, 0.003948) Norm(0.53186, 0.475505, -0.700728) UV(0.657157, 0.899274) +V 17: Pos(0.022822, -0.001507, 0.008434) Norm(-0.479836, -0.563453, -0.672517) UV(0.917476, 0.96461) +V 18: Pos(0.08243, -0.07356, 0.003948) Norm(-0.501618, -0.509174, -0.699372) UV(0.657245, 0.938479) +V 19: Pos(0.002854, 0.002691, -0.008434) Norm(0.288583, -0.717995, 0.633407) UV(0.960945, 0.935148) +V 20: Pos(-0.003511, -0.014445, -0.008434) Norm(0.741135, 0.162643, 0.651358) UV(0.9406, 0.892727) +V 21: Pos(0.014767, 0.00279, -0.008434) Norm(-0.180128, -0.733326, 0.655582) UV(0.939831, 0.95738) +V 22: Pos(0.000693, -0.022367, -0.008434) Norm(0.570895, 0.466214, 0.675813) UV(0.918417, 0.886348) +V 23: Pos(0.022822, -0.001507, -0.008434) Norm(-0.479837, -0.56345, 0.672518) UV(0.917476, 0.96461) +V 24: Pos(0.11253, -0.103459, -0.003161) Norm(-0.314398, -0.630759, 0.709435) UV(0.56599, 0.940497) +V 25: Pos(0.192191, -0.181473, -0.003161) Norm(-0.466491, -0.466241, 0.751669) UV(0.228705, 0.94907) +V 26: Pos(0.25971, -0.250913, 0.001532) Norm(-0.779718, 0.122797, -0.613971) UV(0.028605, 0.949655) +V 27: Pos(0.256655, -0.256921, 0.0) Norm(-0.262688, 0.964881, 0.0) UV(0.024685, 0.938303) +V 28: Pos(0.256907, -0.244648, 0.003161) Norm(-0.588957, -0.326659, -0.739204) UV(0.040105, 0.953817) +V 29: Pos(0.138196, -0.126455, -0.003161) Norm(-0.456936, -0.486541, 0.744639) UV(0.479093, 0.952662) +V 30: Pos(0.11253, -0.103459, 0.003161) Norm(-0.314401, -0.63075, -0.709441) UV(0.56599, 0.940497) +V 31: Pos(0.092565, -0.110732, 0.008434) Norm(0.177423, 0.70618, -0.685442) UV(0.584767, 0.898292) +V 32: Pos(0.106741, -0.101701, 0.003161) Norm(-0.718551, -0.05417, -0.693362) UV(0.577483, 0.934099) +V 33: Pos(0.106531, -0.0965, 0.008434) Norm(-0.728732, -0.169579, -0.66347) UV(0.585933, 0.941626) +V 34: Pos(0.08243, -0.07356, -0.003948) Norm(-0.501605, -0.509107, 0.69943) UV(0.657245, 0.938479) +V 35: Pos(-0.003511, -0.014445, 0.008434) Norm(0.741141, 0.162644, -0.651349) UV(0.9406, 0.892727) +V 36: Pos(0.002854, 0.002691, 0.008434) Norm(0.288592, -0.717993, -0.633404) UV(0.960945, 0.935148) +V 37: Pos(0.014767, 0.00279, 0.008434) Norm(-0.180124, -0.733327, -0.655581) UV(0.939831, 0.95738) +V 38: Pos(0.000693, -0.022367, 0.008434) Norm(0.57089, 0.466211, -0.67582) UV(0.918417, 0.886348) +V 39: Pos(-0.002854, -0.002691, 0.008434) Norm(0.702352, -0.32663, -0.632466) UV(0.961186, 0.914959) +V 40: Pos(-0.002854, -0.002691, -0.008434) Norm(0.70236, -0.326637, 0.632455) UV(0.961186, 0.914959) + +===Triangles (Indices): 78 +Tri: 0 1 2 +Tri: 3 4 5 +Tri: 6 2 7 +Tri: 8 9 10 +Tri: 11 12 13 +Tri: 14 15 12 +Tri: 16 17 18 +Tri: 19 20 21 +Tri: 21 22 23 +Tri: 24 13 8 +Tri: 25 10 4 +Tri: 0 26 27 +Tri: 6 28 0 +Tri: 29 30 24 +Tri: 31 32 13 +Tri: 16 33 31 +Tri: 17 34 18 +Tri: 35 36 37 +Tri: 38 37 17 +Tri: 13 30 8 +Tri: 10 5 4 +Tri: 12 16 31 +Tri: 38 15 22 +Tri: 2 3 7 +Tri: 8 29 24 +Tri: 25 9 29 +Tri: 23 15 34 +Tri: 1 27 26 +Tri: 19 39 40 +Tri: 23 37 21 +Tri: 4 7 25 +Tri: 1 28 2 +Tri: 40 35 20 +Tri: 24 32 11 +Tri: 7 5 25 +Tri: 19 37 36 +Tri: 20 38 22 +Tri: 13 12 31 +Tri: 14 18 34 +Tri: 11 33 14 +Tri: 0 27 1 +Tri: 3 6 4 +Tri: 6 0 2 +Tri: 8 30 9 +Tri: 11 14 12 +Tri: 14 34 15 +Tri: 16 38 17 +Tri: 19 40 20 +Tri: 21 20 22 +Tri: 24 11 13 +Tri: 25 29 10 +Tri: 0 28 26 +Tri: 6 3 28 +Tri: 29 9 30 +Tri: 31 33 32 +Tri: 16 18 33 +Tri: 17 23 34 +Tri: 35 39 36 +Tri: 38 35 37 +Tri: 13 32 30 +Tri: 10 9 5 +Tri: 12 15 16 +Tri: 38 16 15 +Tri: 2 28 3 +Tri: 8 10 29 +Tri: 25 5 9 +Tri: 23 22 15 +Tri: 19 36 39 +Tri: 23 17 37 +Tri: 4 6 7 +Tri: 1 26 28 +Tri: 40 39 35 +Tri: 24 30 32 +Tri: 7 3 5 +Tri: 19 21 37 +Tri: 20 35 38 +Tri: 14 33 18 +Tri: 11 32 33 diff --git a/resources/w/ui/hud_step0.json b/resources/w/ui/hud_step0.json index 10e949e..9293ac6 100644 --- a/resources/w/ui/hud_step0.json +++ b/resources/w/ui/hud_step0.json @@ -5,44 +5,6 @@ "width": "match_parent", "height": "match_parent", "children": [ - { - "type": "LinearLayout", - "orientation": "vertical", - "vertical_align": "center", - "horizontal_align": "center", - "spacing": 0, - "width": "match_parent", - "height": 600, - "x": 210, - "y": 75, - "children": [ - { - "type": "StaticImage", - "name": "hint1", - "width": 880, - "height": 268, - "horizontal_gravity": "center", - "texture": "resources/w/ui/img/Hint1.png", - "pulse": { - "minScale": 0.92, - "maxScale": 1.08, - "periodMs": 1500 - }, - "fadeIn": { - "durationMs": 600 - } - }, - { - "type": "StaticImage", - "name": "hint2", - "width": 24, - "height": 118, - "y" : 20, - "horizontal_gravity": "center", - "texture": "resources/w/ui/img/hint_arrow_down.png" - } - ] - }, { "type": "Button", "name": "settingsButton", @@ -60,14 +22,14 @@ "pressed": "resources/w/ui/img/Settings001_State=Tap001.png" } }, - { + { "type": "StaticImage", "name": "location", "width": 380, "height": 64, - "y" : 30, - "horizontal_gravity": "center", - "vertical_align": "top", + "y": 30, + "horizontal_gravity": "center", + "vertical_align": "top", "texture": "resources/w/ui/img/Location_dorm.png" } ] diff --git a/resources/w/ui/hud_step1.json b/resources/w/ui/hud_step1.json index 602511d..d67eb7d 100644 --- a/resources/w/ui/hud_step1.json +++ b/resources/w/ui/hud_step1.json @@ -18,8 +18,8 @@ { "type": "StaticImage", "name": "hint2", - "width": 440, - "height": 134, + "width": 660, + "height": 201, "horizontal_gravity": "center", "texture": "resources/w/ui/img/Hint2.png", "pulse": { @@ -28,7 +28,7 @@ "periodMs": 1500 }, "fadeIn": { - "durationMs": 600 + "durationMs": 1000 } } ] diff --git a/resources/w/ui/hud_step2.json b/resources/w/ui/hud_step2.json index 2c630dc..388194c 100644 --- a/resources/w/ui/hud_step2.json +++ b/resources/w/ui/hud_step2.json @@ -28,7 +28,7 @@ "periodMs": 1500 }, "fadeIn": { - "durationMs": 600 + "durationMs": 1000 } } ] diff --git a/resources/w/ui/hud_step3.json b/resources/w/ui/hud_step3.json index 31af76e..ab68485 100644 --- a/resources/w/ui/hud_step3.json +++ b/resources/w/ui/hud_step3.json @@ -18,8 +18,8 @@ { "type": "StaticImage", "name": "hint4", - "width": 440, - "height": 134, + "width": 940, + "height": 312, "horizontal_gravity": "center", "texture": "resources/w/ui/img/Hint4.png", "pulse": { @@ -28,7 +28,7 @@ "periodMs": 1500 }, "fadeIn": { - "durationMs": 600 + "durationMs": 1000 } } ] diff --git a/resources/w/ui/hud_step4.json b/resources/w/ui/hud_step4.json index c53fcb7..303cbee 100644 --- a/resources/w/ui/hud_step4.json +++ b/resources/w/ui/hud_step4.json @@ -18,8 +18,8 @@ { "type": "StaticImage", "name": "hint5", - "width": 692, - "height": 312, + "width": 808, + "height": 268, "horizontal_gravity": "center", "texture": "resources/w/ui/img/Hint5.png", "pulse": { @@ -28,7 +28,7 @@ "periodMs": 1500 }, "fadeIn": { - "durationMs": 600 + "durationMs": 1000 } } ] diff --git a/resources/w/ui/hud_step5a.json b/resources/w/ui/hud_step5a.json index e527fb3..37e147c 100644 --- a/resources/w/ui/hud_step5a.json +++ b/resources/w/ui/hud_step5a.json @@ -5,35 +5,6 @@ "width": "match_parent", "height": "match_parent", "children": [ - { - "type": "LinearLayout", - "orientation": "vertical", - "vertical_align": "center", - "horizontal_align": "center", - "spacing": 0, - "width": "match_parent", - "height": 600, - "y": -250, - "x": 300, - "children": [ - { - "type": "StaticImage", - "name": "hint6a", - "width": 440, - "height": 134, - "horizontal_gravity": "center", - "texture": "resources/w/ui/img/Hint6a.png", - "pulse": { - "minScale": 0.92, - "maxScale": 1.08, - "periodMs": 1500 - }, - "fadeIn": { - "durationMs": 600 - } - } - ] - }, { "type": "Button", "name": "phoneButton", @@ -94,6 +65,153 @@ "horizontal_gravity": "center", "vertical_align": "top", "texture": "resources/w/ui/img/Location_dorm.png" + }, + { + "type": "FrameLayout", + "vertical_align": "top", + "horizontal_align": "center", + "spacing": 0, + "width": "match_parent", + "height": 528, + "children": [ + { + "type": "StaticImage", + "name": "toast001", + "horizontal_gravity": "center", + "width": 672, + "height": 176, + "y": 80, + "visible": false, + "texture": "resources/w/ui/img/toast/item_received001.png" + }, + { + "type": "StaticImage", + "name": "toast002", + "horizontal_gravity": "center", + "width": 672, + "height": 176, + "y": 200, + "visible": false, + "texture": "resources/w/ui/img/toast/item_removed001.png" + }, + { + "type": "StaticImage", + "name": "toast003", + "horizontal_gravity": "center", + "width": 672, + "height": 176, + "y": 320, + "visible": false, + "texture": "resources/w/ui/img/toast/objective_completed001.png" + }, + { + "type": "TextView", + "name": "toast001text", + "horizontal_gravity": "center", + "vertical_gravity": "top", + "y": 170, + "x": 8, + "width": 400, + "height": 100, + "visible": false, + "text": "Серебряный нож.", + "fontSize": 24, + "fontPath": "resources/fonts/DroidSans.ttf", + "textCentered": false, + "topAligned": true, + "wrap": true, + "color": [ + 1.0, + 1.0, + 1.0, + 1.0 + ] + }, + { + "type": "TextView", + "name": "toast002text", + "horizontal_gravity": "center", + "vertical_gravity": "top", + "y": 290, + "x": 8, + "width": 400, + "height": 100, + "visible": false, + "text": "Серебряный нож 2.", + "fontSize": 24, + "fontPath": "resources/fonts/DroidSans.ttf", + "textCentered": false, + "topAligned": true, + "wrap": true, + "color": [ + 1.0, + 1.0, + 1.0, + 1.0 + ] + }, + { + "type": "TextView", + "name": "toast003text", + "horizontal_gravity": "center", + "vertical_gravity": "top", + "y": 410, + "x": 8, + "width": 400, + "height": 100, + "visible": false, + "text": "Серебряный нож 3.", + "fontSize": 24, + "fontPath": "resources/fonts/DroidSans.ttf", + "textCentered": false, + "topAligned": true, + "wrap": true, + "color": [ + 1.0, + 1.0, + 1.0, + 1.0 + ] + } + ] + }, + { + "type": "StaticImage", + "name": "hint6a", + "width": 606, + "height": 234, + "x" : 270, + "y" : -20, + "horizontal_gravity": "right", + "vertical_gravity" : "bottom", + "texture": "resources/w/ui/img/Hint6a.png", + "pulse": { + "minScale": 0.92, + "maxScale": 1.08, + "periodMs": 1500 + }, + "fadeIn": { + "durationMs": 1000 + } + }, + { + "type": "StaticImage", + "name": "hint6aarrow", + "width": 170, + "height": 48, + "x" : 140, + "y" : 50, + "horizontal_gravity": "right", + "vertical_gravity" : "bottom", + "texture": "resources/w/ui/img/hint_arrow_left.png", + "pulse": { + "minScale": 0.92, + "maxScale": 1.08, + "periodMs": 1500 + }, + "fadeIn": { + "durationMs": 1000 + } } ] } diff --git a/resources/w/ui/hud_step5ab.json b/resources/w/ui/hud_step5ab.json index 779fe25..3fb8dad 100644 --- a/resources/w/ui/hud_step5ab.json +++ b/resources/w/ui/hud_step5ab.json @@ -5,50 +5,6 @@ "width": "match_parent", "height": "match_parent", "children": [ - { - "type": "LinearLayout", - "orientation": "horizontal", - "vertical_align": "center", - "horizontal_align": "right", - "spacing": 16, - "width": "match_parent", - "height": 600, - "y": -200, - "children": [ - { - "type": "StaticImage", - "name": "hint6a", - "width": 440, - "height": 134, - "horizontal_gravity": "center", - "texture": "resources/w/ui/img/Hint6a.png", - "pulse": { - "minScale": 0.92, - "maxScale": 1.08, - "periodMs": 1500 - }, - "fadeIn": { - "durationMs": 600 - } - }, - { - "type": "StaticImage", - "name": "hint6b", - "width": 440, - "height": 134, - "horizontal_gravity": "center", - "texture": "resources/w/ui/img/Hint6b.png", - "pulse": { - "minScale": 0.92, - "maxScale": 1.08, - "periodMs": 1500 - }, - "fadeIn": { - "durationMs": 600 - } - } - ] - }, { "type": "Button", "name": "phoneButton", @@ -100,7 +56,7 @@ "pressed": "resources/w/ui/img/Inventory001_State=Tap001.png" } }, - { + { "type": "Button", "name": "journalButton", "horizontal_gravity": "right", @@ -126,6 +82,229 @@ "horizontal_gravity": "center", "vertical_align": "top", "texture": "resources/w/ui/img/Location_dorm.png" + }, + { + "type": "FrameLayout", + "vertical_align": "top", + "horizontal_align": "center", + "spacing": 0, + "width": "match_parent", + "height": 528, + "children": [ + { + "type": "StaticImage", + "name": "toast001", + "horizontal_gravity": "center", + "width": 672, + "height": 176, + "y": 80, + "visible" : false, + "texture": "resources/w/ui/img/toast/item_received001.png" + }, + { + "type": "StaticImage", + "name": "toast002", + "horizontal_gravity": "center", + "width": 672, + "height": 176, + "y": 200, + "visible" : false, + "texture": "resources/w/ui/img/toast/item_removed001.png" + }, + { + "type": "StaticImage", + "name": "toast003", + "horizontal_gravity": "center", + "width": 672, + "height": 176, + "y": 320, + "visible" : false, + "texture": "resources/w/ui/img/toast/objective_completed001.png" + }, + { + "type": "TextView", + "name": "toast001text", + "horizontal_gravity": "center", + "vertical_gravity": "top", + "y": 170, + "x": 8, + "width": 400, + "height": 100, + "visible" : false, + "text": "Серебряный нож.", + "fontSize": 24, + "fontPath": "resources/fonts/DroidSans.ttf", + "textCentered": false, + "topAligned": true, + "wrap": true, + "color": [ + 1.0, + 1.0, + 1.0, + 1.0 + ] + }, + { + "type": "TextView", + "name": "toast002text", + "horizontal_gravity": "center", + "vertical_gravity": "top", + "y": 290, + "x": 8, + "width": 400, + "height": 100, + "visible" : false, + "text": "Серебряный нож 2.", + "fontSize": 24, + "fontPath": "resources/fonts/DroidSans.ttf", + "textCentered": false, + "topAligned": true, + "wrap": true, + "color": [ + 1.0, + 1.0, + 1.0, + 1.0 + ] + }, + { + "type": "TextView", + "name": "toast003text", + "horizontal_gravity": "center", + "vertical_gravity": "top", + "y": 410, + "x": 8, + "width": 400, + "height": 100, + "visible" : false, + "text": "Серебряный нож 3.", + "fontSize": 24, + "fontPath": "resources/fonts/DroidSans.ttf", + "textCentered": false, + "topAligned": true, + "wrap": true, + "color": [ + 1.0, + 1.0, + 1.0, + 1.0 + ] + } + ] + }, + { + "type": "StaticImage", + "name": "hint6b", + "horizontal_gravity": "right", + "width": 738.75, + "height": 292.5, + "x": 0, + "y": 200, + "texture": "resources/w/ui/img/Hint6b.png", + "pulse": { + "minScale": 0.92, + "maxScale": 1.08, + "periodMs": 1500 + }, + "fadeIn": { + "durationMs": 1000 + } + }, + { + "type": "StaticImage", + "name": "hint6barrow", + "horizontal_gravity": "right", + "width": 24, + "height": 118, + "x": 280, + "y": 120, + "texture": "resources/w/ui/img/hint_arrow_up.png", + "pulse": { + "minScale": 0.92, + "maxScale": 1.08, + "periodMs": 1500 + }, + "fadeIn": { + "durationMs": 1000 + } + }, + { + "type": "StaticImage", + "name": "hint6a", + "width": 606, + "height": 234, + "x" : 270, + "y" : -20, + "horizontal_gravity": "right", + "vertical_gravity" : "bottom", + "texture": "resources/w/ui/img/Hint6a.png", + "pulse": { + "minScale": 0.92, + "maxScale": 1.08, + "periodMs": 1500 + }, + "fadeIn": { + "durationMs": 1000 + } + }, + { + "type": "StaticImage", + "name": "hint6aarrow", + "width": 170, + "height": 48, + "x" : 140, + "y" : 50, + "horizontal_gravity": "right", + "vertical_gravity" : "bottom", + "texture": "resources/w/ui/img/hint_arrow_left.png", + "pulse": { + "minScale": 0.92, + "maxScale": 1.08, + "periodMs": 1500 + }, + "fadeIn": { + "durationMs": 1000 + } + }, + { + "type": "StaticImage", + "name": "hint7", + "width": 606, + "height": 201, + "x" : 270, + "y" : -20, + "visible":false, + "horizontal_gravity": "right", + "vertical_gravity" : "bottom", + "texture": "resources/w/ui/img/Hint_m004.png", + "pulse": { + "minScale": 0.92, + "maxScale": 1.08, + "periodMs": 1500 + }, + "fadeIn": { + "durationMs": 1000 + } + }, + { + "type": "StaticImage", + "name": "hint7arrow", + "width": 170, + "height": 48, + "x" : 140, + "y" : 50, + "visible":false, + "horizontal_gravity": "right", + "vertical_gravity" : "bottom", + "texture": "resources/w/ui/img/hint_arrow_left.png", + "pulse": { + "minScale": 0.92, + "maxScale": 1.08, + "periodMs": 1500 + }, + "fadeIn": { + "durationMs": 1000 + } } ] } diff --git a/resources/w/ui/hud_step5b.json b/resources/w/ui/hud_step5b.json index 54be921..8d8a3a9 100644 --- a/resources/w/ui/hud_step5b.json +++ b/resources/w/ui/hud_step5b.json @@ -5,34 +5,6 @@ "width": "match_parent", "height": "match_parent", "children": [ - { - "type": "LinearLayout", - "orientation": "vertical", - "vertical_align": "center", - "horizontal_align": "center", - "spacing": 0, - "width": "match_parent", - "height": 600, - "y": -250, - "children": [ - { - "type": "StaticImage", - "name": "hint6b", - "width": 440, - "height": 134, - "horizontal_gravity": "center", - "texture": "resources/w/ui/img/Hint6b.png", - "pulse": { - "minScale": 0.92, - "maxScale": 1.08, - "periodMs": 1500 - }, - "fadeIn": { - "durationMs": 600 - } - } - ] - }, { "type": "Button", "name": "settingsButton", @@ -93,6 +65,143 @@ "horizontal_gravity": "center", "vertical_align": "top", "texture": "resources/w/ui/img/Location_uni_ext.png" + }, + { + "type": "FrameLayout", + "vertical_align": "top", + "horizontal_align": "center", + "spacing": 0, + "width": "match_parent", + "height": 528, + "children": [ + { + "type": "StaticImage", + "name": "toast001", + "horizontal_gravity": "center", + "width": 672, + "height": 176, + "y": 80, + "visible" : false, + "texture": "resources/w/ui/img/toast/item_received001.png" + }, + { + "type": "StaticImage", + "name": "toast002", + "horizontal_gravity": "center", + "width": 672, + "height": 176, + "y": 200, + "visible" : false, + "texture": "resources/w/ui/img/toast/item_removed001.png" + }, + { + "type": "StaticImage", + "name": "toast003", + "horizontal_gravity": "center", + "width": 672, + "height": 176, + "y": 320, + "visible" : false, + "texture": "resources/w/ui/img/toast/objective_completed001.png" + }, + { + "type": "TextView", + "name": "toast001text", + "horizontal_gravity": "center", + "vertical_gravity": "top", + "y": 170, + "x": 8, + "width": 400, + "height": 100, + "visible" : false, + "text": "Серебряный нож.", + "fontSize": 24, + "fontPath": "resources/fonts/DroidSans.ttf", + "textCentered": false, + "topAligned": true, + "wrap": true, + "color": [ + 1.0, + 1.0, + 1.0, + 1.0 + ] + }, + { + "type": "TextView", + "name": "toast002text", + "horizontal_gravity": "center", + "vertical_gravity": "top", + "y": 290, + "x": 8, + "width": 400, + "height": 100, + "visible" : false, + "text": "Серебряный нож 2.", + "fontSize": 24, + "fontPath": "resources/fonts/DroidSans.ttf", + "textCentered": false, + "topAligned": true, + "wrap": true, + "color": [ + 1.0, + 1.0, + 1.0, + 1.0 + ] + }, + { + "type": "TextView", + "name": "toast003text", + "horizontal_gravity": "center", + "vertical_gravity": "top", + "y": 410, + "x": 8, + "width": 400, + "height": 100, + "visible" : false, + "text": "Серебряный нож 3.", + "fontSize": 24, + "fontPath": "resources/fonts/DroidSans.ttf", + "textCentered": false, + "topAligned": true, + "wrap": true, + "color": [ + 1.0, + 1.0, + 1.0, + 1.0 + ] + } + ] + }, + { + "type": "StaticImage", + "name": "hint6b", + "horizontal_gravity": "right", + "width": 738.75, + "height": 292.5, + "x": 0, + "y": 200, + "texture": "resources/w/ui/img/Hint6b.png", + "pulse": { + "minScale": 0.92, + "maxScale": 1.08, + "periodMs": 1500 + }, + "fadeIn": { + "durationMs": 1000 + } + }, + { + "type": "StaticImage", + "name": "hint6barrow", + "horizontal_gravity": "right", + "width": 24, + "height": 118, + "x": 280, + "y": 120, + "texture": "resources/w/ui/img/hint_arrow_up.png" } ] } diff --git a/resources/w/ui/hud_top_hint01.json b/resources/w/ui/hud_top_hint01.json new file mode 100644 index 0000000..95614d9 --- /dev/null +++ b/resources/w/ui/hud_top_hint01.json @@ -0,0 +1,46 @@ +{ + "root": { + "type": "FrameLayout", + "name": "hud_root", + "width": "match_parent", + "height": "match_parent", + "children": [ + { + "type": "StaticImage", + "name": "hint2", + "width": 72, + "height": 354, + "y": 200, + "x": 500, + "horizontal_gravity": "right", + "texture": "resources/w/ui/img/hint_arrow_down.png", + "pulse": { + "minScale": 0.92, + "maxScale": 1.08, + "periodMs": 1500 + }, + "fadeIn": { + "durationMs": 1000 + } + }, + { + "type": "StaticImage", + "name": "hint1", + "width": 880, + "height": 268, + "x": 100, + "y" : -40, + "horizontal_gravity": "right", + "texture": "resources/w/ui/img/Hint1.png", + "pulse": { + "minScale": 0.92, + "maxScale": 1.08, + "periodMs": 1500 + }, + "fadeIn": { + "durationMs": 1000 + } + } + ] + } +} \ No newline at end of file diff --git a/resources/w/ui/hud_uni_ext.json b/resources/w/ui/hud_uni_ext.json index b19d65d..35278f8 100644 --- a/resources/w/ui/hud_uni_ext.json +++ b/resources/w/ui/hud_uni_ext.json @@ -82,7 +82,116 @@ "horizontal_gravity": "center", "vertical_align": "top", "texture": "resources/w/ui/img/Location_uni_ext.png" + }, + { + "type": "FrameLayout", + "vertical_align": "top", + "horizontal_align": "center", + "spacing": 0, + "width": "match_parent", + "height": 528, + "children": [ + { + "type": "StaticImage", + "name": "toast001", + "horizontal_gravity": "center", + "width": 672, + "height": 176, + "y": 80, + "visible" : false, + "texture": "resources/w/ui/img/toast/item_received001.png" + }, + { + "type": "StaticImage", + "name": "toast002", + "horizontal_gravity": "center", + "width": 672, + "height": 176, + "y": 200, + "visible" : false, + "texture": "resources/w/ui/img/toast/item_removed001.png" + }, + { + "type": "StaticImage", + "name": "toast003", + "horizontal_gravity": "center", + "width": 672, + "height": 176, + "y": 320, + "visible" : false, + "texture": "resources/w/ui/img/toast/objective_completed001.png" + }, + { + "type": "TextView", + "name": "toast001text", + "horizontal_gravity": "center", + "vertical_gravity": "top", + "y": 170, + "x": 8, + "width": 400, + "height": 100, + "visible" : false, + "text": "Серебряный нож.", + "fontSize": 24, + "fontPath": "resources/fonts/DroidSans.ttf", + "textCentered": false, + "topAligned": true, + "wrap": true, + "color": [ + 1.0, + 1.0, + 1.0, + 1.0 + ] + }, + { + "type": "TextView", + "name": "toast002text", + "horizontal_gravity": "center", + "vertical_gravity": "top", + "y": 290, + "x": 8, + "width": 400, + "height": 100, + "visible" : false, + "text": "Серебряный нож 2.", + "fontSize": 24, + "fontPath": "resources/fonts/DroidSans.ttf", + "textCentered": false, + "topAligned": true, + "wrap": true, + "color": [ + 1.0, + 1.0, + 1.0, + 1.0 + ] + }, + { + "type": "TextView", + "name": "toast003text", + "horizontal_gravity": "center", + "vertical_gravity": "top", + "y": 410, + "x": 8, + "width": 400, + "height": 100, + "visible" : false, + "text": "Серебряный нож 3.", + "fontSize": 24, + "fontPath": "resources/fonts/DroidSans.ttf", + "textCentered": false, + "topAligned": true, + "wrap": true, + "color": [ + 1.0, + 1.0, + 1.0, + 1.0 + ] + } + ] } ] } -} +} \ No newline at end of file diff --git a/resources/w/ui/hud_uni_ext_dark.json b/resources/w/ui/hud_uni_ext_dark.json index b7f543c..779416d 100644 --- a/resources/w/ui/hud_uni_ext_dark.json +++ b/resources/w/ui/hud_uni_ext_dark.json @@ -126,6 +126,115 @@ 1.0, 1.0 ] + }, + { + "type": "FrameLayout", + "vertical_align": "top", + "horizontal_align": "center", + "spacing": 0, + "width": "match_parent", + "height": 528, + "children": [ + { + "type": "StaticImage", + "name": "toast001", + "horizontal_gravity": "center", + "width": 672, + "height": 176, + "y": 80, + "visible" : false, + "texture": "resources/w/ui/img/toast/item_received001.png" + }, + { + "type": "StaticImage", + "name": "toast002", + "horizontal_gravity": "center", + "width": 672, + "height": 176, + "y": 200, + "visible" : false, + "texture": "resources/w/ui/img/toast/item_removed001.png" + }, + { + "type": "StaticImage", + "name": "toast003", + "horizontal_gravity": "center", + "width": 672, + "height": 176, + "y": 320, + "visible" : false, + "texture": "resources/w/ui/img/toast/objective_completed001.png" + }, + { + "type": "TextView", + "name": "toast001text", + "horizontal_gravity": "center", + "vertical_gravity": "top", + "y": 170, + "x": 8, + "width": 400, + "height": 100, + "visible" : false, + "text": "Серебряный нож.", + "fontSize": 24, + "fontPath": "resources/fonts/DroidSans.ttf", + "textCentered": false, + "topAligned": true, + "wrap": true, + "color": [ + 1.0, + 1.0, + 1.0, + 1.0 + ] + }, + { + "type": "TextView", + "name": "toast002text", + "horizontal_gravity": "center", + "vertical_gravity": "top", + "y": 290, + "x": 8, + "width": 400, + "height": 100, + "visible" : false, + "text": "Серебряный нож 2.", + "fontSize": 24, + "fontPath": "resources/fonts/DroidSans.ttf", + "textCentered": false, + "topAligned": true, + "wrap": true, + "color": [ + 1.0, + 1.0, + 1.0, + 1.0 + ] + }, + { + "type": "TextView", + "name": "toast003text", + "horizontal_gravity": "center", + "vertical_gravity": "top", + "y": 410, + "x": 8, + "width": 400, + "height": 100, + "visible" : false, + "text": "Серебряный нож 3.", + "fontSize": 24, + "fontPath": "resources/fonts/DroidSans.ttf", + "textCentered": false, + "topAligned": true, + "wrap": true, + "color": [ + 1.0, + 1.0, + 1.0, + 1.0 + ] + } + ] } ] } diff --git a/resources/w/ui/hud_uni_int_dark_full.json b/resources/w/ui/hud_uni_int_dark_full.json index 21f6d93..13f5b04 100644 --- a/resources/w/ui/hud_uni_int_dark_full.json +++ b/resources/w/ui/hud_uni_int_dark_full.json @@ -126,6 +126,115 @@ 1.0, 1.0 ] + }, + { + "type": "FrameLayout", + "vertical_align": "top", + "horizontal_align": "center", + "spacing": 0, + "width": "match_parent", + "height": 528, + "children": [ + { + "type": "StaticImage", + "name": "toast001", + "horizontal_gravity": "center", + "width": 672, + "height": 176, + "y": 80, + "visible" : false, + "texture": "resources/w/ui/img/toast/item_received001.png" + }, + { + "type": "StaticImage", + "name": "toast002", + "horizontal_gravity": "center", + "width": 672, + "height": 176, + "y": 200, + "visible" : false, + "texture": "resources/w/ui/img/toast/item_removed001.png" + }, + { + "type": "StaticImage", + "name": "toast003", + "horizontal_gravity": "center", + "width": 672, + "height": 176, + "y": 320, + "visible" : false, + "texture": "resources/w/ui/img/toast/objective_completed001.png" + }, + { + "type": "TextView", + "name": "toast001text", + "horizontal_gravity": "center", + "vertical_gravity": "top", + "y": 170, + "x": 8, + "width": 400, + "height": 100, + "visible" : false, + "text": "Серебряный нож.", + "fontSize": 24, + "fontPath": "resources/fonts/DroidSans.ttf", + "textCentered": false, + "topAligned": true, + "wrap": true, + "color": [ + 1.0, + 1.0, + 1.0, + 1.0 + ] + }, + { + "type": "TextView", + "name": "toast002text", + "horizontal_gravity": "center", + "vertical_gravity": "top", + "y": 290, + "x": 8, + "width": 400, + "height": 100, + "visible" : false, + "text": "Серебряный нож 2.", + "fontSize": 24, + "fontPath": "resources/fonts/DroidSans.ttf", + "textCentered": false, + "topAligned": true, + "wrap": true, + "color": [ + 1.0, + 1.0, + 1.0, + 1.0 + ] + }, + { + "type": "TextView", + "name": "toast003text", + "horizontal_gravity": "center", + "vertical_gravity": "top", + "y": 410, + "x": 8, + "width": 400, + "height": 100, + "visible" : false, + "text": "Серебряный нож 3.", + "fontSize": 24, + "fontPath": "resources/fonts/DroidSans.ttf", + "textCentered": false, + "topAligned": true, + "wrap": true, + "color": [ + 1.0, + 1.0, + 1.0, + 1.0 + ] + } + ] } ] } diff --git a/resources/w/ui/hud_uni_int_full.json b/resources/w/ui/hud_uni_int_full.json index 53708af..649fa44 100644 --- a/resources/w/ui/hud_uni_int_full.json +++ b/resources/w/ui/hud_uni_int_full.json @@ -99,6 +99,115 @@ "horizontal_gravity": "center", "vertical_align": "top", "texture": "resources/w/ui/img/Location_uni_int.png" + }, + { + "type": "FrameLayout", + "vertical_align": "top", + "horizontal_align": "center", + "spacing": 0, + "width": "match_parent", + "height": 528, + "children": [ + { + "type": "StaticImage", + "name": "toast001", + "horizontal_gravity": "center", + "width": 672, + "height": 176, + "y": 80, + "visible" : false, + "texture": "resources/w/ui/img/toast/item_received001.png" + }, + { + "type": "StaticImage", + "name": "toast002", + "horizontal_gravity": "center", + "width": 672, + "height": 176, + "y": 200, + "visible" : false, + "texture": "resources/w/ui/img/toast/item_removed001.png" + }, + { + "type": "StaticImage", + "name": "toast003", + "horizontal_gravity": "center", + "width": 672, + "height": 176, + "y": 320, + "visible" : false, + "texture": "resources/w/ui/img/toast/objective_completed001.png" + }, + { + "type": "TextView", + "name": "toast001text", + "horizontal_gravity": "center", + "vertical_gravity": "top", + "y": 170, + "x": 8, + "width": 400, + "height": 100, + "visible" : false, + "text": "Серебряный нож.", + "fontSize": 24, + "fontPath": "resources/fonts/DroidSans.ttf", + "textCentered": false, + "topAligned": true, + "wrap": true, + "color": [ + 1.0, + 1.0, + 1.0, + 1.0 + ] + }, + { + "type": "TextView", + "name": "toast002text", + "horizontal_gravity": "center", + "vertical_gravity": "top", + "y": 290, + "x": 8, + "width": 400, + "height": 100, + "visible" : false, + "text": "Серебряный нож 2.", + "fontSize": 24, + "fontPath": "resources/fonts/DroidSans.ttf", + "textCentered": false, + "topAligned": true, + "wrap": true, + "color": [ + 1.0, + 1.0, + 1.0, + 1.0 + ] + }, + { + "type": "TextView", + "name": "toast003text", + "horizontal_gravity": "center", + "vertical_gravity": "top", + "y": 410, + "x": 8, + "width": 400, + "height": 100, + "visible" : false, + "text": "Серебряный нож 3.", + "fontSize": 24, + "fontPath": "resources/fonts/DroidSans.ttf", + "textCentered": false, + "topAligned": true, + "wrap": true, + "color": [ + 1.0, + 1.0, + 1.0, + 1.0 + ] + } + ] } ] } diff --git a/resources/w/ui/hud_uni_int_old.json b/resources/w/ui/hud_uni_int_old.json index 0797a34..56f445c 100644 --- a/resources/w/ui/hud_uni_int_old.json +++ b/resources/w/ui/hud_uni_int_old.json @@ -99,6 +99,115 @@ "horizontal_gravity": "center", "vertical_align": "top", "texture": "resources/w/ui/img/Location_uni_int.png" + }, + { + "type": "FrameLayout", + "vertical_align": "top", + "horizontal_align": "center", + "spacing": 0, + "width": "match_parent", + "height": 528, + "children": [ + { + "type": "StaticImage", + "name": "toast001", + "horizontal_gravity": "center", + "width": 672, + "height": 176, + "y": 80, + "visible" : false, + "texture": "resources/w/ui/img/toast/item_received001.png" + }, + { + "type": "StaticImage", + "name": "toast002", + "horizontal_gravity": "center", + "width": 672, + "height": 176, + "y": 200, + "visible" : false, + "texture": "resources/w/ui/img/toast/item_removed001.png" + }, + { + "type": "StaticImage", + "name": "toast003", + "horizontal_gravity": "center", + "width": 672, + "height": 176, + "y": 320, + "visible" : false, + "texture": "resources/w/ui/img/toast/objective_completed001.png" + }, + { + "type": "TextView", + "name": "toast001text", + "horizontal_gravity": "center", + "vertical_gravity": "top", + "y": 170, + "x": 8, + "width": 400, + "height": 100, + "visible" : false, + "text": "Серебряный нож.", + "fontSize": 24, + "fontPath": "resources/fonts/DroidSans.ttf", + "textCentered": false, + "topAligned": true, + "wrap": true, + "color": [ + 1.0, + 1.0, + 1.0, + 1.0 + ] + }, + { + "type": "TextView", + "name": "toast002text", + "horizontal_gravity": "center", + "vertical_gravity": "top", + "y": 290, + "x": 8, + "width": 400, + "height": 100, + "visible" : false, + "text": "Серебряный нож 2.", + "fontSize": 24, + "fontPath": "resources/fonts/DroidSans.ttf", + "textCentered": false, + "topAligned": true, + "wrap": true, + "color": [ + 1.0, + 1.0, + 1.0, + 1.0 + ] + }, + { + "type": "TextView", + "name": "toast003text", + "horizontal_gravity": "center", + "vertical_gravity": "top", + "y": 410, + "x": 8, + "width": 400, + "height": 100, + "visible" : false, + "text": "Серебряный нож 3.", + "fontSize": 24, + "fontPath": "resources/fonts/DroidSans.ttf", + "textCentered": false, + "topAligned": true, + "wrap": true, + "color": [ + 1.0, + 1.0, + 1.0, + 1.0 + ] + } + ] } ] } diff --git a/resources/w/ui/hud_uni_int_step10.json b/resources/w/ui/hud_uni_int_step10.json index 1c58f58..5bdf673 100644 --- a/resources/w/ui/hud_uni_int_step10.json +++ b/resources/w/ui/hud_uni_int_step10.json @@ -82,6 +82,115 @@ "horizontal_gravity": "center", "vertical_align": "top", "texture": "resources/w/ui/img/Location_uni_int.png" + }, + { + "type": "FrameLayout", + "vertical_align": "top", + "horizontal_align": "center", + "spacing": 0, + "width": "match_parent", + "height": 528, + "children": [ + { + "type": "StaticImage", + "name": "toast001", + "horizontal_gravity": "center", + "width": 672, + "height": 176, + "y": 80, + "visible" : false, + "texture": "resources/w/ui/img/toast/item_received001.png" + }, + { + "type": "StaticImage", + "name": "toast002", + "horizontal_gravity": "center", + "width": 672, + "height": 176, + "y": 200, + "visible" : false, + "texture": "resources/w/ui/img/toast/item_removed001.png" + }, + { + "type": "StaticImage", + "name": "toast003", + "horizontal_gravity": "center", + "width": 672, + "height": 176, + "y": 320, + "visible" : false, + "texture": "resources/w/ui/img/toast/objective_completed001.png" + }, + { + "type": "TextView", + "name": "toast001text", + "horizontal_gravity": "center", + "vertical_gravity": "top", + "y": 170, + "x": 8, + "width": 400, + "height": 100, + "visible" : false, + "text": "Серебряный нож.", + "fontSize": 24, + "fontPath": "resources/fonts/DroidSans.ttf", + "textCentered": false, + "topAligned": true, + "wrap": true, + "color": [ + 1.0, + 1.0, + 1.0, + 1.0 + ] + }, + { + "type": "TextView", + "name": "toast002text", + "horizontal_gravity": "center", + "vertical_gravity": "top", + "y": 290, + "x": 8, + "width": 400, + "height": 100, + "visible" : false, + "text": "Серебряный нож 2.", + "fontSize": 24, + "fontPath": "resources/fonts/DroidSans.ttf", + "textCentered": false, + "topAligned": true, + "wrap": true, + "color": [ + 1.0, + 1.0, + 1.0, + 1.0 + ] + }, + { + "type": "TextView", + "name": "toast003text", + "horizontal_gravity": "center", + "vertical_gravity": "top", + "y": 410, + "x": 8, + "width": 400, + "height": 100, + "visible" : false, + "text": "Серебряный нож 3.", + "fontSize": 24, + "fontPath": "resources/fonts/DroidSans.ttf", + "textCentered": false, + "topAligned": true, + "wrap": true, + "color": [ + 1.0, + 1.0, + 1.0, + 1.0 + ] + } + ] } ] } diff --git a/resources/w/ui/hud_uni_int_step11.json b/resources/w/ui/hud_uni_int_step11.json index c788eef..9099c9c 100644 --- a/resources/w/ui/hud_uni_int_step11.json +++ b/resources/w/ui/hud_uni_int_step11.json @@ -125,6 +125,115 @@ "x": 860, "y": 110, "texture": "resources/w/ui/img/hint_arrow_up.png" + }, + { + "type": "FrameLayout", + "vertical_align": "top", + "horizontal_align": "center", + "spacing": 0, + "width": "match_parent", + "height": 528, + "children": [ + { + "type": "StaticImage", + "name": "toast001", + "horizontal_gravity": "center", + "width": 672, + "height": 176, + "y": 80, + "visible" : false, + "texture": "resources/w/ui/img/toast/item_received001.png" + }, + { + "type": "StaticImage", + "name": "toast002", + "horizontal_gravity": "center", + "width": 672, + "height": 176, + "y": 200, + "visible" : false, + "texture": "resources/w/ui/img/toast/item_removed001.png" + }, + { + "type": "StaticImage", + "name": "toast003", + "horizontal_gravity": "center", + "width": 672, + "height": 176, + "y": 320, + "visible" : false, + "texture": "resources/w/ui/img/toast/objective_completed001.png" + }, + { + "type": "TextView", + "name": "toast001text", + "horizontal_gravity": "center", + "vertical_gravity": "top", + "y": 170, + "x": 8, + "width": 400, + "height": 100, + "visible" : false, + "text": "Серебряный нож.", + "fontSize": 24, + "fontPath": "resources/fonts/DroidSans.ttf", + "textCentered": false, + "topAligned": true, + "wrap": true, + "color": [ + 1.0, + 1.0, + 1.0, + 1.0 + ] + }, + { + "type": "TextView", + "name": "toast002text", + "horizontal_gravity": "center", + "vertical_gravity": "top", + "y": 290, + "x": 8, + "width": 400, + "height": 100, + "visible" : false, + "text": "Серебряный нож 2.", + "fontSize": 24, + "fontPath": "resources/fonts/DroidSans.ttf", + "textCentered": false, + "topAligned": true, + "wrap": true, + "color": [ + 1.0, + 1.0, + 1.0, + 1.0 + ] + }, + { + "type": "TextView", + "name": "toast003text", + "horizontal_gravity": "center", + "vertical_gravity": "top", + "y": 410, + "x": 8, + "width": 400, + "height": 100, + "visible" : false, + "text": "Серебряный нож 3.", + "fontSize": 24, + "fontPath": "resources/fonts/DroidSans.ttf", + "textCentered": false, + "topAligned": true, + "wrap": true, + "color": [ + 1.0, + 1.0, + 1.0, + 1.0 + ] + } + ] } ] } diff --git a/resources/w/ui/hud_uni_int_step12.json b/resources/w/ui/hud_uni_int_step12.json index 81c0308..cf2cdf5 100644 --- a/resources/w/ui/hud_uni_int_step12.json +++ b/resources/w/ui/hud_uni_int_step12.json @@ -152,6 +152,115 @@ 1.0, 1.0 ] + }, + { + "type": "FrameLayout", + "vertical_align": "top", + "horizontal_align": "center", + "spacing": 0, + "width": "match_parent", + "height": 528, + "children": [ + { + "type": "StaticImage", + "name": "toast001", + "horizontal_gravity": "center", + "width": 672, + "height": 176, + "y": 80, + "visible" : false, + "texture": "resources/w/ui/img/toast/item_received001.png" + }, + { + "type": "StaticImage", + "name": "toast002", + "horizontal_gravity": "center", + "width": 672, + "height": 176, + "y": 200, + "visible" : false, + "texture": "resources/w/ui/img/toast/item_removed001.png" + }, + { + "type": "StaticImage", + "name": "toast003", + "horizontal_gravity": "center", + "width": 672, + "height": 176, + "y": 320, + "visible" : false, + "texture": "resources/w/ui/img/toast/objective_completed001.png" + }, + { + "type": "TextView", + "name": "toast001text", + "horizontal_gravity": "center", + "vertical_gravity": "top", + "y": 170, + "x": 8, + "width": 400, + "height": 100, + "visible" : false, + "text": "Серебряный нож.", + "fontSize": 24, + "fontPath": "resources/fonts/DroidSans.ttf", + "textCentered": false, + "topAligned": true, + "wrap": true, + "color": [ + 1.0, + 1.0, + 1.0, + 1.0 + ] + }, + { + "type": "TextView", + "name": "toast002text", + "horizontal_gravity": "center", + "vertical_gravity": "top", + "y": 290, + "x": 8, + "width": 400, + "height": 100, + "visible" : false, + "text": "Серебряный нож 2.", + "fontSize": 24, + "fontPath": "resources/fonts/DroidSans.ttf", + "textCentered": false, + "topAligned": true, + "wrap": true, + "color": [ + 1.0, + 1.0, + 1.0, + 1.0 + ] + }, + { + "type": "TextView", + "name": "toast003text", + "horizontal_gravity": "center", + "vertical_gravity": "top", + "y": 410, + "x": 8, + "width": 400, + "height": 100, + "visible" : false, + "text": "Серебряный нож 3.", + "fontSize": 24, + "fontPath": "resources/fonts/DroidSans.ttf", + "textCentered": false, + "topAligned": true, + "wrap": true, + "color": [ + 1.0, + 1.0, + 1.0, + 1.0 + ] + } + ] } ] } diff --git a/resources/w/ui/hud_uni_int_step13.json b/resources/w/ui/hud_uni_int_step13.json index 352f0cf..0a5970f 100644 --- a/resources/w/ui/hud_uni_int_step13.json +++ b/resources/w/ui/hud_uni_int_step13.json @@ -135,6 +135,115 @@ 1.0, 1.0 ] + }, + { + "type": "FrameLayout", + "vertical_align": "top", + "horizontal_align": "center", + "spacing": 0, + "width": "match_parent", + "height": 528, + "children": [ + { + "type": "StaticImage", + "name": "toast001", + "horizontal_gravity": "center", + "width": 672, + "height": 176, + "y": 80, + "visible" : false, + "texture": "resources/w/ui/img/toast/item_received001.png" + }, + { + "type": "StaticImage", + "name": "toast002", + "horizontal_gravity": "center", + "width": 672, + "height": 176, + "y": 200, + "visible" : false, + "texture": "resources/w/ui/img/toast/item_removed001.png" + }, + { + "type": "StaticImage", + "name": "toast003", + "horizontal_gravity": "center", + "width": 672, + "height": 176, + "y": 320, + "visible" : false, + "texture": "resources/w/ui/img/toast/objective_completed001.png" + }, + { + "type": "TextView", + "name": "toast001text", + "horizontal_gravity": "center", + "vertical_gravity": "top", + "y": 170, + "x": 8, + "width": 400, + "height": 100, + "visible" : false, + "text": "Серебряный нож.", + "fontSize": 24, + "fontPath": "resources/fonts/DroidSans.ttf", + "textCentered": false, + "topAligned": true, + "wrap": true, + "color": [ + 1.0, + 1.0, + 1.0, + 1.0 + ] + }, + { + "type": "TextView", + "name": "toast002text", + "horizontal_gravity": "center", + "vertical_gravity": "top", + "y": 290, + "x": 8, + "width": 400, + "height": 100, + "visible" : false, + "text": "Серебряный нож 2.", + "fontSize": 24, + "fontPath": "resources/fonts/DroidSans.ttf", + "textCentered": false, + "topAligned": true, + "wrap": true, + "color": [ + 1.0, + 1.0, + 1.0, + 1.0 + ] + }, + { + "type": "TextView", + "name": "toast003text", + "horizontal_gravity": "center", + "vertical_gravity": "top", + "y": 410, + "x": 8, + "width": 400, + "height": 100, + "visible" : false, + "text": "Серебряный нож 3.", + "fontSize": 24, + "fontPath": "resources/fonts/DroidSans.ttf", + "textCentered": false, + "topAligned": true, + "wrap": true, + "color": [ + 1.0, + 1.0, + 1.0, + 1.0 + ] + } + ] } ] } diff --git a/resources/w/ui/img/Hint_m001.png b/resources/w/ui/img/Hint_m001.png new file mode 100644 index 0000000..2f76863 --- /dev/null +++ b/resources/w/ui/img/Hint_m001.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e3e2636167c2f8bbada7c5dbb8da9777ab0e48398c2e8f7d8426c940382602ca +size 300468 diff --git a/resources/w/ui/img/Hint_m002.png b/resources/w/ui/img/Hint_m002.png new file mode 100644 index 0000000..6c1f73b --- /dev/null +++ b/resources/w/ui/img/Hint_m002.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:416a39fd3e285f157a98904d30ba5c28f7247f839ef6ef57f216d37f83e390ff +size 305037 diff --git a/resources/w/ui/img/Hint_m003.png b/resources/w/ui/img/Hint_m003.png new file mode 100644 index 0000000..b350ce0 --- /dev/null +++ b/resources/w/ui/img/Hint_m003.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:312beb356ac091f2c4fa798dd39340fe56f364fdb2f7acb8ecddab7e728eb0e9 +size 320396 diff --git a/resources/w/ui/img/Hint_m004.png b/resources/w/ui/img/Hint_m004.png new file mode 100644 index 0000000..e286fca --- /dev/null +++ b/resources/w/ui/img/Hint_m004.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a1b66afed4887d2acfef92e7fd60e1134e042de6d0d829c9c558604b6a76823c +size 267895 diff --git a/resources/w/ui/img/RedClose001_State=Default001.png b/resources/w/ui/img/RedClose001_State=Default001.png index d1c1e73..d23d00e 100644 --- a/resources/w/ui/img/RedClose001_State=Default001.png +++ b/resources/w/ui/img/RedClose001_State=Default001.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:74e8fd0fd38eea40520c9835845efde6ca96130f5417f645c6c42e84c2ca66e2 -size 126126 +oid sha256:35acde5ecd49582a26bcbfa6e0005bbca3b0fb7ff0a3cb40884c284fe9bc339b +size 126189 diff --git a/resources/w/ui/img/RedClose001_State=Selected001.png b/resources/w/ui/img/RedClose001_State=Selected001.png index dd4c971..1952d1e 100644 --- a/resources/w/ui/img/RedClose001_State=Selected001.png +++ b/resources/w/ui/img/RedClose001_State=Selected001.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ddaf05bd713374b3a79a0da79e324496d1fb5ce8fc21398fb32f9718d8121408 -size 208205 +oid sha256:c33ab4445008028bd575b722805b9a9b710b514fb4667c300150075f164fd4d3 +size 208226 diff --git a/resources/w/ui/img/RedClose001_State=Tap001.png b/resources/w/ui/img/RedClose001_State=Tap001.png index 8cc8839..c00ef94 100644 --- a/resources/w/ui/img/RedClose001_State=Tap001.png +++ b/resources/w/ui/img/RedClose001_State=Tap001.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:089d5aef0a289c45dab893472c779cf5f8ea6ccbcfe352372ac1339770e93763 -size 101426 +oid sha256:2e8ae5244aee78565825db9cf7e0d2de9ce30773d340daef095067a4fd41d121 +size 101393 diff --git a/resources/w/ui/img/hint_arrow_left.png b/resources/w/ui/img/hint_arrow_left.png new file mode 100644 index 0000000..44c37cc --- /dev/null +++ b/resources/w/ui/img/hint_arrow_left.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f557553413c44562745ca1d3f024304de63ef0e91346cfa8728930aa7eaac838 +size 1545 diff --git a/resources/w/ui/img/hint_arrow_right.png b/resources/w/ui/img/hint_arrow_right.png new file mode 100644 index 0000000..06d0c7c --- /dev/null +++ b/resources/w/ui/img/hint_arrow_right.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e36468ad8ac9f86fce40c754a3e65b0f3e69ce377f8266658cfb2066d2ca2afa +size 1567 diff --git a/resources/w/ui/img/main/about.png b/resources/w/ui/img/main/about.png new file mode 100644 index 0000000..603e239 --- /dev/null +++ b/resources/w/ui/img/main/about.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b5a9276602359b1ed4341487185ed8b5f4c4dfa86d9efb06cc09f748a50c8560 +size 353 diff --git a/resources/w/ui/img/main/bkg.png b/resources/w/ui/img/main/bkg.png new file mode 100644 index 0000000..603e239 --- /dev/null +++ b/resources/w/ui/img/main/bkg.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b5a9276602359b1ed4341487185ed8b5f4c4dfa86d9efb06cc09f748a50c8560 +size 353 diff --git a/resources/w/ui/img/toast/item_received001.png b/resources/w/ui/img/toast/item_received001.png new file mode 100644 index 0000000..392051a --- /dev/null +++ b/resources/w/ui/img/toast/item_received001.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a825f6422d9cdb65d9277521be95e8a8c8e3aaa64334af7ce5c5c015950c3039 +size 387816 diff --git a/resources/w/ui/img/toast/item_removed001.png b/resources/w/ui/img/toast/item_removed001.png new file mode 100644 index 0000000..a8b7106 --- /dev/null +++ b/resources/w/ui/img/toast/item_removed001.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7349282d9862c2de657c8d25321a3dabcc0690a595970d44c0d88fa01764bb22 +size 446507 diff --git a/resources/w/ui/img/toast/objective_completed001.png b/resources/w/ui/img/toast/objective_completed001.png new file mode 100644 index 0000000..fb73733 --- /dev/null +++ b/resources/w/ui/img/toast/objective_completed001.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c5b81f8eefd55d28ebb48db50b839b7a4bf6b25e19cca2a423d4d75a55242c25 +size 464996 diff --git a/resources/w/ui/img/toast/quest_completed001.png b/resources/w/ui/img/toast/quest_completed001.png new file mode 100644 index 0000000..3491222 --- /dev/null +++ b/resources/w/ui/img/toast/quest_completed001.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:de82f49e70437285112e4aebe69fb319834e11ae86be774389a1aba1c74ef994 +size 499780 diff --git a/resources/w/ui/img/toast/quest_failed001.png b/resources/w/ui/img/toast/quest_failed001.png new file mode 100644 index 0000000..17d9c1b --- /dev/null +++ b/resources/w/ui/img/toast/quest_failed001.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a69ff8ef68904c9b48b40dc818ac28c6048a65512e6d08d6d237ee6006a8e527 +size 424522 diff --git a/resources/w/ui/img/toast/quest_new001.png b/resources/w/ui/img/toast/quest_new001.png new file mode 100644 index 0000000..57f87c4 --- /dev/null +++ b/resources/w/ui/img/toast/quest_new001.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:18144447bb769217296e5d64a065b4e6438e9f79bdbd0ffb8b7a11aa30b88691 +size 400535 diff --git a/resources/w/ui/screen_about.json b/resources/w/ui/screen_about.json new file mode 100644 index 0000000..e67ad19 --- /dev/null +++ b/resources/w/ui/screen_about.json @@ -0,0 +1,37 @@ +{ + "root": { + "type": "FrameLayout", + "width": "match_parent", + "height": "match_parent", + "children": [ + { + "type": "StaticImage", + "name": "aboutBkg", + "width": "match_parent", + "height": "match_parent", + "texture": "resources/ui/img/main/bkg.png" + }, + { + "type": "StaticImage", + "name": "aboutImage", + "horizontal_gravity": "center", + "vertical_gravity": "center", + "width": 800, + "height": 500, + "texture": "resources/ui/img/main/about.png" + }, + { + "type": "TextButton", + "name": "aboutBackButton", + "horizontal_gravity": "center", + "vertical_gravity": "bottom", + "y": 40, + "width": 200, + "height": 60, + "text": "Back", + "fontSize": 40, + "textCentered": true + } + ] + } +} diff --git a/resources/w/ui/screen_main_menu.json b/resources/w/ui/screen_main_menu.json new file mode 100644 index 0000000..a4b2ceb --- /dev/null +++ b/resources/w/ui/screen_main_menu.json @@ -0,0 +1,69 @@ +{ + "root": { + "type": "FrameLayout", + "width": "match_parent", + "height": "match_parent", + "children": [ + { + "type": "StaticImage", + "name": "mainMenuBkg", + "width": "match_parent", + "height": "match_parent", + "texture": "resources/ui/img/main/bkg.png" + }, + { + "type": "LinearLayout", + "orientation": "vertical", + "horizontal_align": "center", + "vertical_align": "center", + "spacing": 24, + "width": "match_parent", + "height": "match_parent", + "children": [ + { + "type": "TextButton", + "name": "menuStartButton", + "width": 300, + "height": 70, + "text": "Start", + "fontSize": 48, + "textCentered": true + }, + { + "type": "TextButton", + "name": "menuAboutButton", + "width": 300, + "height": 70, + "text": "About", + "fontSize": 48, + "textCentered": true + }, + { + "type": "TextButton", + "name": "menuExitButton", + "width": 300, + "height": 70, + "text": "Exit", + "fontSize": 48, + "textCentered": true + } + ] + }, + { + "type": "TextView", + "name": "mainMenuVersion", + "horizontal_gravity": "right", + "vertical_gravity": "bottom", + "x": 10, + "y": 10, + "width": 160, + "height": 36, + "text": "v. 1.0", + "fontSize": 24, + "textCentered": false, + "topAligned": true, + "paddingY": 4 + } + ] + } +} diff --git a/resources/w/ui/screen_phone_chat_list_hint001.json b/resources/w/ui/screen_phone_chat_list_hint001.json new file mode 100644 index 0000000..001ad7f --- /dev/null +++ b/resources/w/ui/screen_phone_chat_list_hint001.json @@ -0,0 +1,264 @@ +{ + "root": { + "type": "FrameLayout", + "name": "hud_root", + "width": "match_parent", + "height": "match_parent", + "vertical_align": "center", + "horizontal_align": "center", + "children": [ + { + "type": "StaticImage", + "name": "hint_m002", + "width": 400, + "height": 156, + "x" : 420, + "y" : 0, + "horizontal_gravity": "center", + "vertical_gravity" : "top", + "texture": "resources/w/ui/img/Hint_m001.png", + "pulse": { + "minScale": 0.92, + "maxScale": 1.08, + "periodMs": 1500 + }, + "fadeIn": { + "durationMs": 1000 + } + }, + { + "type": "Button", + "name": "phoneExitButton", + "horizontal_gravity": "center", + "vertical_gravity": "center", + "y": 0, + "width": "match_parent", + "height": "match_parent", + "textures": { + "normal": "resources/transparent.png", + "hover": "resources/transparent.png", + "pressed": "resources/transparent.png" + } + }, + { + "type": "Button", + "name": "phoneMain", + "horizontal_gravity": "center", + "vertical_gravity": "center", + "y": -60, + "width": 617.4, + "height": 991.2, + "textures": { + "normal": "resources/w/ui/img/phone/PhoneChatList001.png", + "hover": "resources/w/ui/img/phone/PhoneChatList001.png", + "pressed": "resources/w/ui/img/phone/PhoneChatList001.png" + } + }, + { + "type": "LinearLayout", + "orientation": "vertical", + "vertical_align": "top", + "horizontal_align": "center", + "spacing": 0, + "x": 0, + "y": 100, + "width": "match_parent", + "height": 800, + "children": [ + { + "type": "FrameLayout", + "name": "chat1frame", + "width": 446.25, + "height": 88.2, + "children": [ + { + "type": "TextButton", + "name": "chat1button", + "x": 0.0, + "y": 0.0, + "width": 446.25, + "height": 88.2, + "text": "Айпери", + "textPaddingY": 0.0, + "textPaddingX": 100.0, + "fontSize": 32, + "fontPath": "resources/fonts/DroidSans.ttf", + "textCentered": false, + "topAligned": true, + "wrap": true, + "color": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "textures": { + "normal": "resources/w/ui/img/phone/ChatListItem001.png", + "hover": "resources/w/ui/img/phone/ChatListItem001.png", + "pressed": "resources/w/ui/img/phone/ChatListItem001.png" + } + }, + { + "type": "StaticImage", + "name": "chat1Unread", + "x" : 408, + "y" : 24, + "width": 28.7, + "height": 28.7, + "texture": "resources/w/ui/img/phone/ChatListUnread1.png" + }, + { + "type": "TextView", + "name": "chat1msg", + "x": 100.0, + "y": 36.0, + "width": 446.25, + "height": 88.2, + "text": "Бекзат, помнишь мы ски...", + "fontSize": 24, + "fontPath": "resources/fonts/DroidSans.ttf", + "textCentered": false, + "topAligned": true, + "wrap": true, + "color": [ + 0.8, + 0.8, + 0.8, + 1.0 + ] + } + ] + }, + { + "type": "FrameLayout", + "name": "chat2frame", + "width": 446.25, + "height": 88.2, + "children": [ + { + "type": "TextButton", + "name": "chat2button", + "x": 0.0, + "y": 0.0, + "width": 446.25, + "height": 88.2, + "text": "Атам", + "textPaddingY": 0.0, + "textPaddingX": 100.0, + "fontSize": 32, + "fontPath": "resources/fonts/DroidSans.ttf", + "textCentered": false, + "topAligned": true, + "wrap": true, + "color": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "textures": { + "normal": "resources/w/ui/img/phone/ChatListItem002.png", + "hover": "resources/w/ui/img/phone/ChatListItem002.png", + "pressed": "resources/w/ui/img/phone/ChatListItem002.png" + } + }, + { + "type": "StaticImage", + "name": "chat2Unread", + "x" : 408, + "y" : 24, + "width": 28.7, + "height": 28.7, + "texture": "resources/w/ui/img/phone/ChatListUnread1.png" + }, + { + "type": "TextView", + "name": "chat2msg", + "x": 100.0, + "y": 36.0, + "width": 446.25, + "height": 88.2, + "text": "Бекзат, сынок, мы c мамой ...", + "fontSize": 24, + "fontPath": "resources/fonts/DroidSans.ttf", + "textCentered": false, + "topAligned": true, + "wrap": true, + "color": [ + 0.8, + 0.8, + 0.8, + 1.0 + ] + } + ] + }, + { + "type": "FrameLayout", + "name": "chat3frame", + "width": 446.25, + "height": 88.2, + "children": [ + { + "type": "TextButton", + "name": "chat3button", + "x": 0.0, + "y": 0.0, + "width": 446.25, + "height": 88.2, + "text": "БишкекНовости", + "textPaddingY": 0.0, + "textPaddingX": 100.0, + "fontSize": 32, + "fontPath": "resources/fonts/DroidSans.ttf", + "textCentered": false, + "topAligned": true, + "wrap": true, + "color": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "textures": { + "normal": "resources/w/ui/img/phone/ChatListItem003.png", + "hover": "resources/w/ui/img/phone/ChatListItem003.png", + "pressed": "resources/w/ui/img/phone/ChatListItem003.png" + } + }, + { + "type": "StaticImage", + "name": "chat3Unread", + "x" : 408, + "y" : 24, + "width": 28.7, + "height": 28.7, + "texture": "resources/w/ui/img/phone/ChatListUnread1.png" + }, + { + "type": "TextView", + "name": "chat3msg", + "x": 100.0, + "y": 36.0, + "width": 446.25, + "height": 88.2, + "text": "Жители Бишкека все чаще ...", + "fontSize": 24, + "fontPath": "resources/fonts/DroidSans.ttf", + "textCentered": false, + "topAligned": true, + "wrap": true, + "color": [ + 0.8, + 0.8, + 0.8, + 1.0 + ] + } + ] + } + ] + } + ] + } +} \ No newline at end of file diff --git a/resources/w/ui/screen_phone_hint001.json b/resources/w/ui/screen_phone_hint001.json new file mode 100644 index 0000000..8adfb72 --- /dev/null +++ b/resources/w/ui/screen_phone_hint001.json @@ -0,0 +1,164 @@ +{ + "root": { + "type": "FrameLayout", + "name": "hud_root", + "width": "match_parent", + "height": "match_parent", + "vertical_align": "center", + "horizontal_align": "center", + "children": [ + { + "type": "Button", + "name": "phoneExitButton", + "horizontal_gravity": "center", + "vertical_gravity": "center", + "y": 0, + "width": "match_parent", + "height": "match_parent", + "textures": { + "normal": "resources/transparent.png", + "hover": "resources/transparent.png", + "pressed": "resources/transparent.png" + } + }, + { + "type": "StaticImage", + "name": "phoneMain", + "horizontal_gravity": "center", + "vertical_gravity": "center", + "y": -60, + "width": 617.4, + "height": 991.2, + "texture": "resources/w/ui/img/phone2/Phone002.png" + }, + { + "type": "StaticImage", + "name": "phoneTimeDay", + "horizontal_gravity": "center", + "vertical_gravity": "top", + "y": 120, + "width": 446.25, + "height": 120.4, + "texture": "resources/w/ui/img/phone2/ClockDay001.png" + }, + { + "type": "StaticImage", + "name": "phoneTimeNight", + "horizontal_gravity": "center", + "vertical_gravity": "top", + "y": 120, + "width": 446.25, + "height": 120.4, + "texture": "resources/w/ui/img/phone2/ClockNight001.png" + }, + { + "type": "StaticImage", + "name": "phoneTimeDawn", + "horizontal_gravity": "center", + "vertical_gravity": "top", + "y": 120, + "width": 446.25, + "height": 120.4, + "texture": "resources/w/ui/img/phone2/ClockMorning001.png" + }, + { + "type": "Button", + "name": "phoneBank", + "horizontal_gravity": "center", + "vertical_gravity": "center", + "x": -80, + "y": -60, + "width": 119, + "height": 119, + "textures": { + "normal": "resources/w/ui/img/phone2/IconBank001.png", + "hover": "resources/w/ui/img/phone2/IconBank001.png", + "pressed": "resources/w/ui/img/phone2/IconBank001.png" + } + }, + { + "type": "Button", + "name": "phoneTaxi", + "horizontal_gravity": "center", + "vertical_gravity": "center", + "x": 80, + "y": -60, + "width": 119, + "height": 119, + "textures": { + "normal": "resources/w/ui/img/phone2/IconTaxi001.png", + "hover": "resources/w/ui/img/phone2/IconTaxi001.png", + "pressed": "resources/w/ui/img/phone2/IconTaxi001.png" + } + }, + { + "type": "Button", + "name": "phoneVideo", + "horizontal_gravity": "center", + "vertical_gravity": "center", + "x": 80, + "y": -190, + "width": 119, + "height": 119, + "textures": { + "normal": "resources/w/ui/img/phone2/IconVideo001.png", + "hover": "resources/w/ui/img/phone2/IconVideo001.png", + "pressed": "resources/w/ui/img/phone2/IconVideo001.png" + } + }, + { + "type": "Button", + "name": "phoneMessenger", + "horizontal_gravity": "center", + "vertical_gravity": "center", + "x": -80, + "y": -190, + "width": 119, + "height": 119, + "textures": { + "normal": "resources/w/ui/img/phone2/IconMessenger001.png", + "hover": "resources/w/ui/img/phone2/IconMessenger001.png", + "pressed": "resources/w/ui/img/phone2/IconMessenger001.png" + } + }, + { + "type": "StaticImage", + "name": "hint_m001arrow", + "width": 170, + "height": 48, + "x" : -220, + "y" : 150, + "horizontal_gravity": "center", + "vertical_gravity" : "bottom", + "texture": "resources/w/ui/img/hint_arrow_left.png", + "pulse": { + "minScale": 0.92, + "maxScale": 1.08, + "periodMs": 1500 + }, + "fadeIn": { + "durationMs": 1000 + } + }, + { + "type": "StaticImage", + "name": "hint_m001", + "width": 414, + "height": 156, + "x" : -420, + "y" : 100, + "horizontal_gravity": "center", + "vertical_gravity" : "bottom", + "texture": "resources/w/ui/img/Hint_m002.png", + "pulse": { + "minScale": 0.92, + "maxScale": 1.08, + "periodMs": 1500 + }, + "fadeIn": { + "durationMs": 1000 + } + } + ] + } +} \ No newline at end of file diff --git a/resources/w/ui/screen_phone_hint001_002.json b/resources/w/ui/screen_phone_hint001_002.json new file mode 100644 index 0000000..650c348 --- /dev/null +++ b/resources/w/ui/screen_phone_hint001_002.json @@ -0,0 +1,202 @@ +{ + "root": { + "type": "FrameLayout", + "name": "hud_root", + "width": "match_parent", + "height": "match_parent", + "vertical_align": "center", + "horizontal_align": "center", + "children": [ + { + "type": "Button", + "name": "phoneExitButton", + "horizontal_gravity": "center", + "vertical_gravity": "center", + "y": 0, + "width": "match_parent", + "height": "match_parent", + "textures": { + "normal": "resources/transparent.png", + "hover": "resources/transparent.png", + "pressed": "resources/transparent.png" + } + }, + { + "type": "StaticImage", + "name": "phoneMain", + "horizontal_gravity": "center", + "vertical_gravity": "center", + "y": -60, + "width": 617.4, + "height": 991.2, + "texture": "resources/w/ui/img/phone2/Phone002.png" + }, + { + "type": "StaticImage", + "name": "phoneTimeDay", + "horizontal_gravity": "center", + "vertical_gravity": "top", + "y": 120, + "width": 446.25, + "height": 120.4, + "texture": "resources/w/ui/img/phone2/ClockDay001.png" + }, + { + "type": "StaticImage", + "name": "phoneTimeNight", + "horizontal_gravity": "center", + "vertical_gravity": "top", + "y": 120, + "width": 446.25, + "height": 120.4, + "texture": "resources/w/ui/img/phone2/ClockNight001.png" + }, + { + "type": "StaticImage", + "name": "phoneTimeDawn", + "horizontal_gravity": "center", + "vertical_gravity": "top", + "y": 120, + "width": 446.25, + "height": 120.4, + "texture": "resources/w/ui/img/phone2/ClockMorning001.png" + }, + { + "type": "Button", + "name": "phoneBank", + "horizontal_gravity": "center", + "vertical_gravity": "center", + "x": -80, + "y": -60, + "width": 119, + "height": 119, + "textures": { + "normal": "resources/w/ui/img/phone2/IconBank001.png", + "hover": "resources/w/ui/img/phone2/IconBank001.png", + "pressed": "resources/w/ui/img/phone2/IconBank001.png" + } + }, + { + "type": "Button", + "name": "phoneTaxi", + "horizontal_gravity": "center", + "vertical_gravity": "center", + "x": 80, + "y": -60, + "width": 119, + "height": 119, + "textures": { + "normal": "resources/w/ui/img/phone2/IconTaxi001.png", + "hover": "resources/w/ui/img/phone2/IconTaxi001.png", + "pressed": "resources/w/ui/img/phone2/IconTaxi001.png" + } + }, + { + "type": "Button", + "name": "phoneVideo", + "horizontal_gravity": "center", + "vertical_gravity": "center", + "x": 80, + "y": -190, + "width": 119, + "height": 119, + "textures": { + "normal": "resources/w/ui/img/phone2/IconVideo001.png", + "hover": "resources/w/ui/img/phone2/IconVideo001.png", + "pressed": "resources/w/ui/img/phone2/IconVideo001.png" + } + }, + { + "type": "Button", + "name": "phoneMessenger", + "horizontal_gravity": "center", + "vertical_gravity": "center", + "x": -80, + "y": -190, + "width": 119, + "height": 119, + "textures": { + "normal": "resources/w/ui/img/phone2/IconMessenger001.png", + "hover": "resources/w/ui/img/phone2/IconMessenger001.png", + "pressed": "resources/w/ui/img/phone2/IconMessenger001.png" + } + }, + { + "type": "StaticImage", + "name": "hint_m001arrow", + "width": 170, + "height": 48, + "x": -220, + "y": 150, + "horizontal_gravity": "center", + "vertical_gravity": "bottom", + "texture": "resources/w/ui/img/hint_arrow_left.png", + "pulse": { + "minScale": 0.92, + "maxScale": 1.08, + "periodMs": 1500 + }, + "fadeIn": { + "durationMs": 1000 + } + }, + { + "type": "StaticImage", + "name": "hint_m001", + "width": 414, + "height": 156, + "x": -420, + "y": 100, + "horizontal_gravity": "center", + "vertical_gravity": "bottom", + "texture": "resources/w/ui/img/Hint_m002.png", + "pulse": { + "minScale": 0.92, + "maxScale": 1.08, + "periodMs": 1500 + }, + "fadeIn": { + "durationMs": 1000 + } + }, + { + "type": "StaticImage", + "name": "hint_m003arrow", + "width": 170, + "height": 48, + "x": 220, + "y": 270, + "horizontal_gravity": "center", + "vertical_gravity": "bottom", + "texture": "resources/w/ui/img/hint_arrow_right.png", + "pulse": { + "minScale": 0.92, + "maxScale": 1.08, + "periodMs": 1500 + }, + "fadeIn": { + "durationMs": 1000 + } + }, + { + "type": "StaticImage", + "name": "hint_m003", + "width": 318, + "height": 178, + "x": 420, + "y": 220, + "horizontal_gravity": "center", + "vertical_gravity": "bottom", + "texture": "resources/w/ui/img/Hint_m003.png", + "pulse": { + "minScale": 0.92, + "maxScale": 1.08, + "periodMs": 1500 + }, + "fadeIn": { + "durationMs": 1000 + } + } + ] + } +} \ No newline at end of file diff --git a/resources/w/ui/screen_phone_hint002.json b/resources/w/ui/screen_phone_hint002.json new file mode 100644 index 0000000..fdd4010 --- /dev/null +++ b/resources/w/ui/screen_phone_hint002.json @@ -0,0 +1,164 @@ +{ + "root": { + "type": "FrameLayout", + "name": "hud_root", + "width": "match_parent", + "height": "match_parent", + "vertical_align": "center", + "horizontal_align": "center", + "children": [ + { + "type": "Button", + "name": "phoneExitButton", + "horizontal_gravity": "center", + "vertical_gravity": "center", + "y": 0, + "width": "match_parent", + "height": "match_parent", + "textures": { + "normal": "resources/transparent.png", + "hover": "resources/transparent.png", + "pressed": "resources/transparent.png" + } + }, + { + "type": "StaticImage", + "name": "phoneMain", + "horizontal_gravity": "center", + "vertical_gravity": "center", + "y": -60, + "width": 617.4, + "height": 991.2, + "texture": "resources/w/ui/img/phone2/Phone002.png" + }, + { + "type": "StaticImage", + "name": "phoneTimeDay", + "horizontal_gravity": "center", + "vertical_gravity": "top", + "y": 120, + "width": 446.25, + "height": 120.4, + "texture": "resources/w/ui/img/phone2/ClockDay001.png" + }, + { + "type": "StaticImage", + "name": "phoneTimeNight", + "horizontal_gravity": "center", + "vertical_gravity": "top", + "y": 120, + "width": 446.25, + "height": 120.4, + "texture": "resources/w/ui/img/phone2/ClockNight001.png" + }, + { + "type": "StaticImage", + "name": "phoneTimeDawn", + "horizontal_gravity": "center", + "vertical_gravity": "top", + "y": 120, + "width": 446.25, + "height": 120.4, + "texture": "resources/w/ui/img/phone2/ClockMorning001.png" + }, + { + "type": "Button", + "name": "phoneBank", + "horizontal_gravity": "center", + "vertical_gravity": "center", + "x": -80, + "y": -60, + "width": 119, + "height": 119, + "textures": { + "normal": "resources/w/ui/img/phone2/IconBank001.png", + "hover": "resources/w/ui/img/phone2/IconBank001.png", + "pressed": "resources/w/ui/img/phone2/IconBank001.png" + } + }, + { + "type": "Button", + "name": "phoneTaxi", + "horizontal_gravity": "center", + "vertical_gravity": "center", + "x": 80, + "y": -60, + "width": 119, + "height": 119, + "textures": { + "normal": "resources/w/ui/img/phone2/IconTaxi001.png", + "hover": "resources/w/ui/img/phone2/IconTaxi001.png", + "pressed": "resources/w/ui/img/phone2/IconTaxi001.png" + } + }, + { + "type": "Button", + "name": "phoneVideo", + "horizontal_gravity": "center", + "vertical_gravity": "center", + "x": 80, + "y": -190, + "width": 119, + "height": 119, + "textures": { + "normal": "resources/w/ui/img/phone2/IconVideo001.png", + "hover": "resources/w/ui/img/phone2/IconVideo001.png", + "pressed": "resources/w/ui/img/phone2/IconVideo001.png" + } + }, + { + "type": "Button", + "name": "phoneMessenger", + "horizontal_gravity": "center", + "vertical_gravity": "center", + "x": -80, + "y": -190, + "width": 119, + "height": 119, + "textures": { + "normal": "resources/w/ui/img/phone2/IconMessenger001.png", + "hover": "resources/w/ui/img/phone2/IconMessenger001.png", + "pressed": "resources/w/ui/img/phone2/IconMessenger001.png" + } + }, + { + "type": "StaticImage", + "name": "hint_m003arrow", + "width": 170, + "height": 48, + "x" : 220, + "y" : 270, + "horizontal_gravity": "center", + "vertical_gravity" : "bottom", + "texture": "resources/w/ui/img/hint_arrow_right.png", + "pulse": { + "minScale": 0.92, + "maxScale": 1.08, + "periodMs": 1500 + }, + "fadeIn": { + "durationMs": 1000 + } + }, + { + "type": "StaticImage", + "name": "hint_m003", + "width": 318, + "height": 178, + "x" : 420, + "y" : 220, + "horizontal_gravity": "center", + "vertical_gravity" : "bottom", + "texture": "resources/w/ui/img/Hint_m003.png", + "pulse": { + "minScale": 0.92, + "maxScale": 1.08, + "periodMs": 1500 + }, + "fadeIn": { + "durationMs": 1000 + } + } + ] + } +} \ No newline at end of file diff --git a/src/Game.cpp b/src/Game.cpp index 1eb81ba..d52c9be 100644 --- a/src/Game.cpp +++ b/src/Game.cpp @@ -342,6 +342,26 @@ namespace ZL if (locations["location_dorm"]->player) locations["location_dorm"]->player->onDeathAnimComplete = [this]() { startDarklandsTransition(); }; + locations["location_dorm"]->onPlayerTaxiRequired = [this]() { + menuManager.tutorialShowTaxiHint(); + }; + + menuManager.callTaxiFunc = [this]() + { + if (locations["location_dorm"]) + { + locations["location_dorm"]->onPlayerTaxiRequired = nullptr; + } + + if (currentLocation) + { + if (currentLocation->teleportZones.size() > 0) + { + currentLocation->teleportZones[0].active = true; + } + } + }; + // Teleport callbacks: destination name and position come from the teleport zone data. auto teleportCallback = [this](const std::string& destName, const Eigen::Vector3f& destPos, float destRotY) { std::cout << "[TELEPORT] " << " -> " << destName << std::endl; @@ -388,9 +408,20 @@ namespace ZL }; } - // Wire inventory item-pickup callback for tutorial step4/5 item tracking. + renderer.textureManager.LoadFromPng("resources/w/ui/img/toast/item_received001.png", CONST_ZIP_FILE, true); + renderer.textureManager.LoadFromPng("resources/w/ui/img/toast/item_removed001.png", CONST_ZIP_FILE, true); + + + + // Wire inventory callbacks: tutorial tracking + toast notifications. inventory.onItemAdded = [this](const std::string& itemId) { menuManager.onItemPickedUp(itemId); + const Item* item = ItemRegistry::instance().findById(itemId); + if (item) menuManager.showToast("resources/w/ui/img/toast/item_received001.png", item->name); + }; + inventory.onItemRemoved = [this](const std::string& itemId) { + const Item* item = ItemRegistry::instance().findById(itemId); + if (item) menuManager.showToast("resources/w/ui/img/toast/item_removed001.png", item->name); }; // Wire phone dialogue start function so MenuManager can trigger dialogues. @@ -431,9 +462,6 @@ namespace ZL if (currentLocation) currentLocation->dialogueSystem.skipCutscene(); }; - currentLocation = locations["location_dorm"]; - currentLocation->scriptEngine.callLocationEnterCallback(); - std::cout << "Load resurces step 5" << std::endl; /* std::cout << "Load resurces step 12" << std::endl; @@ -478,6 +506,11 @@ namespace ZL std::cerr << "Failed to load UI: " << e.what() << std::endl; } + menuManager.startGameFunc = [this]() { + currentLocation = locations["location_dorm"]; + currentLocation->scriptEngine.callLocationEnterCallback(); + }; + // Wire HP-change callbacks so all player instances update the health bar HUD. for (auto& [name, loc] : locations) { if (loc->player) { @@ -564,10 +597,6 @@ namespace ZL CheckGlError(__FILE__, __LINE__); } } - else - { - // ??? Main menu??? - } drawUI(); drawDarklandsFlash(); } @@ -632,10 +661,12 @@ namespace ZL lastTickCount = newTickCount; updateDarklandsFlash(delta); - menuManager.uiManager.update(static_cast(delta)); menuManager.topUiManager.update(static_cast(delta)); + if (!menuManager.isMainMenuOpen()) + menuManager.update(static_cast(delta)); + if (currentLocation) { currentLocation->update(delta); @@ -797,7 +828,7 @@ namespace ZL } break; case SDLK_f: - currentLocation->dialogueSystem.startDialogue("dialog_start001"); + currentLocation->dialogueSystem.startDialogue("phone_night_aiperi001"); break; case SDLK_e: @@ -836,6 +867,8 @@ namespace ZL break; case SDLK_k: + x = x - 1; + std::cout << "current x: " << x << std::endl; //y = y + 1; //std::cout << "current y: " << y << std::endl; //y = y - 0.002; diff --git a/src/Location.cpp b/src/Location.cpp index 757ace4..fa0c989 100644 --- a/src/Location.cpp +++ b/src/Location.cpp @@ -75,9 +75,10 @@ namespace ZL player->loadBinaryAnimation(AnimationState::ACTION_TO_DEATH, "resources/w/gg/new/gg_die001.anim", CONST_ZIP_FILE); player->loadBinaryAnimation(AnimationState::DEATH_IDLE, "resources/w/gg/new/gg_die_idle001.anim", CONST_ZIP_FILE); - player->weaponTexture = renderer.textureManager.LoadFromPng("resources/w/white.png", CONST_ZIP_FILE); + player->weaponTexture = renderer.textureManager.LoadFromPng("resources/w/gg/Props.png", CONST_ZIP_FILE); player->weaponMesh.data = LoadFromTextFile02("resources/w/gg/knife002.txt", CONST_ZIP_FILE); - player->weaponMesh.data.Scale(0.1f); + player->weaponMesh.data.Move(Vector3f(0, -0.3, 0)); + player->weaponMesh.data.Scale(0.2f); player->weaponMesh.RefreshVBO(); player->weaponAttachBoneName = "RightHand"; player->weaponInitialRotation = Eigen::AngleAxisf(-M_PI * 0.5, Eigen::Vector3f::UnitZ()).toRotationMatrix(); diff --git a/src/Location.h b/src/Location.h index a1b4a9e..298fb5c 100644 --- a/src/Location.h +++ b/src/Location.h @@ -106,6 +106,8 @@ namespace ZL // Used by the tutorial system to detect the "tap to walk" gesture. std::function onPlayerFloorWalk; + std::function onPlayerTaxiRequired; + // Set by Game after setup(). Lua and onDeathAnimComplete call this to // request the transition without coupling Location to Game directly. std::function requestDarklandsTransition; diff --git a/src/MenuManager.cpp b/src/MenuManager.cpp index 15dbb7d..ef77c84 100644 --- a/src/MenuManager.cpp +++ b/src/MenuManager.cpp @@ -100,20 +100,29 @@ namespace ZL { hudUniIntFullRoot = loadUiFromFile("resources/w/ui/hud_uni_int_full.json", renderer, zipFile); hudUniIntDarkFullRoot = loadUiFromFile("resources/w/ui/hud_uni_int_dark_full.json", renderer, zipFile); hudUniExtDarkRoot = loadUiFromFile("resources/w/ui/hud_uni_ext_dark.json", renderer, zipFile); + hudCutsceneRoot_ = loadUiFromFile("resources/w/ui/hud_cutscene.json", renderer, zipFile); + hudTopHintRoot_ = loadUiFromFile("resources/w/ui/hud_top_hint01.json", renderer, zipFile); phoneMainRoot = loadUiFromFile("resources/w/ui/screen_phone.json", renderer, zipFile); + phoneMainHintARoot = loadUiFromFile("resources/w/ui/screen_phone_hint001.json", renderer, zipFile); + phoneMainHintBRoot = loadUiFromFile("resources/w/ui/screen_phone_hint002.json", renderer, zipFile); + phoneMainHintABRoot = loadUiFromFile("resources/w/ui/screen_phone_hint001_002.json", renderer, zipFile); + phoneBankRoot = loadUiFromFile("resources/w/ui/screen_phone_bank.json", renderer, zipFile); phoneVideoRoot = loadUiFromFile("resources/w/ui/screen_phone_video.json", renderer, zipFile); phoneMapDormRoot = loadUiFromFile("resources/w/ui/screen_phone_map_dorm.json", renderer, zipFile); phoneMapUniRoot = loadUiFromFile("resources/w/ui/screen_phone_map_uni.json", renderer, zipFile); phoneChatListRoot = loadUiFromFile("resources/w/ui/screen_phone_chat_list.json", renderer, zipFile); + phoneChatListHintRoot = loadUiFromFile("resources/w/ui/screen_phone_chat_list_hint001.json", renderer, zipFile); phoneChat1Root = loadUiFromFile("resources/w/ui/screen_phone_chat1.json", renderer, zipFile); phoneChat2Root = loadUiFromFile("resources/w/ui/screen_phone_chat2.json", renderer, zipFile); phoneChat3Root = loadUiFromFile("resources/w/ui/screen_phone_chat3.json", renderer, zipFile); - newInventoryRoot = loadUiFromFile("resources/w/ui/screen_inventory.json", renderer, zipFile); - questJournalRoot = loadUiFromFile("resources/w/ui/screen_journal.json", renderer, zipFile); + newInventoryRoot = loadUiFromFile("resources/w/ui/screen_inventory.json", renderer, zipFile); + questJournalRoot = loadUiFromFile("resources/w/ui/screen_journal.json", renderer, zipFile); + mainMenuRoot = loadUiFromFile("resources/w/ui/screen_main_menu.json", renderer, zipFile); + aboutScreenRoot = loadUiFromFile("resources/w/ui/screen_about.json", renderer, zipFile); texObjectiveCompleted_ = renderer.textureManager.LoadFromPng("resources/w/ui/img/journal/quest_objective_completed.png", zipFile, true); texObjectiveBlank_ = renderer.textureManager.LoadFromPng("resources/w/ui/img/journal/quest_objective_blank.png", zipFile, true); @@ -122,6 +131,29 @@ namespace ZL { questJournal.loadFromFile("resources/quests/quests.json", zipFile); + renderer.textureManager.LoadFromPng("resources/w/ui/img/toast/quest_new001.png", zipFile, true); + renderer.textureManager.LoadFromPng("resources/w/ui/img/toast/quest_completed001.png", zipFile, true); + renderer.textureManager.LoadFromPng("resources/w/ui/img/toast/quest_failed001.png", zipFile, true); + + + questJournal.onQuestUnlocked = [this](const std::string& id) { + const Quest::QuestState* q = questJournal.findQuest(id); + if (q) showToast("resources/w/ui/img/toast/quest_new001.png", q->definition.title); + }; + questJournal.onQuestCompleted = [this](const std::string& id) { + const Quest::QuestState* q = questJournal.findQuest(id); + if (q) showToast("resources/w/ui/img/toast/quest_completed001.png", q->definition.title); + }; + questJournal.onQuestFailed = [this](const std::string& id) { + const Quest::QuestState* q = questJournal.findQuest(id); + if (q) showToast("resources/w/ui/img/toast/quest_failed001.png", q->definition.title); + }; + /* + questJournal.onObjectiveCompleted = [this](const std::string& id, const std::string&) { + const Quest::QuestState* q = questJournal.findQuest(id); + if (q) showToast("resources/w/ui/img/toast/objective_completed001.png", q->definition.title); + };*/ + const std::string imgDir = "resources/w/ui/img/phone/"; texBubbleInCenter_ = renderer.textureManager.LoadFromPng(imgDir + "bubble_in_center.png", zipFile, true); texBubbleInLT_ = renderer.textureManager.LoadFromPng(imgDir + "bubble_in_corner_left_top.png", zipFile, true); @@ -134,12 +166,16 @@ namespace ZL { texBubbleOutRT_ = renderer.textureManager.LoadFromPng(imgDir + "bubble_out_corner_right_top.png", zipFile, true); texBubbleOutRB_ = renderer.textureManager.LoadFromPng(imgDir + "bubble_out_corner_right_bottom.png",zipFile, true); - enterGameplay(); + showMainMenu(); } void MenuManager::enterGameplay() { + if (state == GameState::MainMenu && startGameFunc) startGameFunc(); state = GameState::Gameplay; uiManager.replaceRoot(hudRoot); + topUiManager.replaceRoot(hudTopHintRoot_); + + applyCurrentHealthBar(); /* uiManager.setTextButtonCallback("inventory_button", [this](const std::string&) { @@ -156,6 +192,33 @@ namespace ZL { //openInventory() } + void MenuManager::showMainMenu() { + state = GameState::MainMenu; + uiManager.replaceRoot(mainMenuRoot); + + uiManager.setTextButtonCallback("menuStartButton", [this](const std::string&) { + enterGameplay(); + }); + uiManager.setTextButtonCallback("menuAboutButton", [this](const std::string&) { + showAboutScreen(); + }); + +#ifndef EMSCRIPTEN + uiManager.setTextButtonCallback("menuExitButton", [this](const std::string&) { + Environment::exitGameLoop = true; + }); +#else + uiManager.setNodeVisible("menuExitButton", false); +#endif + } + + void MenuManager::showAboutScreen() { + uiManager.pushMenuFromSavedRoot(aboutScreenRoot); + uiManager.setTextButtonCallback("aboutBackButton", [this](const std::string&) { + uiManager.popMenu(); + }); + } + void MenuManager::openInventory() { state = GameState::Inventory; uiManager.pushMenuFromSavedRoot(newInventoryRoot); @@ -248,7 +311,9 @@ namespace ZL { void MenuManager::openQuestJournal() { state = GameState::QuestJournal; tutorialJournalScreenOpened = true; + uiManager.setNodeVisible("hint6b", false); + uiManager.setNodeVisible("hint6barrow", false); uiManager.pushMenuFromSavedRoot(questJournalRoot); uiManager.setButtonCallback("journalExitButton", [this](const std::string&) { @@ -294,10 +359,30 @@ namespace ZL { void MenuManager::openPhoneScreen() { state = GameState::PhoneScreen; - tutorialPhoneScreenOpened = true; - uiManager.setNodeVisible("hint6a", false); - uiManager.pushMenuFromSavedRoot(phoneMainRoot); + //uiManager.setNodeVisible("hint6a", false); + //uiManager.setNodeVisible("hint6aarrow", false); + + //tutorialPhoneScreenOpened = true; + + + if (tutorialNeedOpenTaxiScreen && (tutorialPhoneChatScreenOpened == false)) + { + uiManager.pushMenuFromSavedRoot(phoneMainHintABRoot); + } + else if (tutorialNeedOpenTaxiScreen) + { + uiManager.pushMenuFromSavedRoot(phoneMainHintBRoot); + } + else if (tutorialPhoneChatScreenOpened == false) + { + uiManager.pushMenuFromSavedRoot(phoneMainHintARoot); + } + else + { + uiManager.pushMenuFromSavedRoot(phoneMainRoot); + } + uiManager.setButtonCallback("phoneExitButton", [this](const std::string&) { closePhoneEntirely(); }); @@ -338,7 +423,16 @@ namespace ZL { } void MenuManager::openPhoneMessenger() { - uiManager.pushMenuFromSavedRoot(phoneChatListRoot); + + if (tutorialPhoneChatScreenOpened) + { + uiManager.pushMenuFromSavedRoot(phoneChatListRoot); + } + else + { + uiManager.pushMenuFromSavedRoot(phoneChatListHintRoot); + } + //uiManager.pushMenuFromSavedRoot(phoneChatListRoot); refreshChatUnreadIndicators(); uiManager.setButtonCallback("phoneExitButton", [this](const std::string&) { @@ -430,6 +524,12 @@ namespace ZL { uiManager.popMenu(); }); uiManager.setButtonCallback("mapGo", [this](const std::string&) { + tutorialNeedOpenTaxiScreen = false; + + if (callTaxiFunc) + { + callTaxiFunc(); + } money_ -= 500; closePhoneEntirely(); if (startDialogueFunc) startDialogueFunc("dialog_taxi002"); @@ -439,6 +539,7 @@ namespace ZL { void MenuManager::openPhoneChatFromList(int chatIndex, std::shared_ptr chatRoot) { activeChatIndex_ = chatIndex; phoneChatVisibleBubbles_.clear(); + tutorialPhoneChatScreenOpened = true; uiManager.pushMenuFromSavedRoot(chatRoot); rebuildChatBubblesFromHistory(chatIndex); @@ -460,6 +561,14 @@ namespace ZL { activeChatIndex_ = -1; phoneChatVisibleBubbles_.clear(); uiManager.popMenu(); + if (tutorialPhoneChatScreenOpened) + { + uiManager.setNodeVisible("hint_m002", false); + } + else + { + uiManager.setNodeVisible("hint_m002", true); + } refreshChatUnreadIndicators(); } @@ -469,6 +578,32 @@ namespace ZL { phoneChatVisibleBubbles_.clear(); const int depth = uiManager.menuStackSize(); for (int i = 0; i < depth; ++i) uiManager.popMenu(); + + if (tutorialNeedOpenTaxiScreen) + { + uiManager.setNodeVisible("hint7", true); + uiManager.setNodeVisible("hint7arrow", true); + } + else + { + uiManager.setNodeVisible("hint7", false); + uiManager.setNodeVisible("hint7arrow", false); + + if (tutorialPhoneChatScreenOpened) + { + uiManager.setNodeVisible("hint6a", false); + uiManager.setNodeVisible("hint6aarrow", false); + } + else + { + uiManager.setNodeVisible("hint6a", true); + uiManager.setNodeVisible("hint6aarrow", true); + } + } + + + + } void MenuManager::closePhoneScreenFromChat() { @@ -479,6 +614,21 @@ namespace ZL { closePhoneEntirely(); } + void MenuManager::tutorialShowTaxiHint() + { + std::cout << "tutorialShowTaxiHint" << std::endl; + tutorialNeedOpenTaxiScreen = true; + if (state == GameState::Gameplay) + { + uiManager.setNodeVisible("hint6a", false); + uiManager.setNodeVisible("hint6aarrow", false); + + uiManager.setNodeVisible("hint7", true); + uiManager.setNodeVisible("hint7arrow", true); + + } + } + // Registers phoneButton / journalButton callbacks on the current HUD root // and hides any hints that have already been completed. // Called after every replaceRoot during step 5. @@ -498,9 +648,30 @@ namespace ZL { openQuestJournal(); }); } - if (tutorialPhoneScreenOpened) uiManager.setNodeVisible("hint6a", false); - if (tutorialJournalScreenOpened) uiManager.setNodeVisible("hint6b", false); - if (tutorialPhoneScreenOpened && tutorialJournalScreenOpened) { + if (tutorialNeedOpenTaxiScreen) + { + uiManager.setNodeVisible("hint6a", false); + uiManager.setNodeVisible("hint6aarrow", false); + + uiManager.setNodeVisible("hint7", true); + uiManager.setNodeVisible("hint7arrow", true); + } + else + { + uiManager.setNodeVisible("hint7", false); + uiManager.setNodeVisible("hint7arrow", false); + } + + if (tutorialPhoneChatScreenOpened) { + uiManager.setNodeVisible("hint6a", false); + uiManager.setNodeVisible("hint6aarrow", false); + } + if (tutorialJournalScreenOpened) + { + uiManager.setNodeVisible("hint6b", false); + uiManager.setNodeVisible("hint6barrow", false); + } + if (tutorialPhoneChatScreenOpened && tutorialJournalScreenOpened) { tutorialStep = TutorialStep::Step6; } } @@ -514,6 +685,8 @@ namespace ZL { uiManager.setButtonCallback("journalButton", [this](const std::string&) { openQuestJournal(); }); if (uiManager.findButton("darklandsButton")) uiManager.setButtonCallback("darklandsButton", [this](const std::string&) { startDarklandsTransitionFunc(); }); + hideAllToastWidgets(); + applyToastsToUi(); } void MenuManager::onLocationChanged(const std::string& locationName) { @@ -541,6 +714,7 @@ namespace ZL { case TutorialStep::Step0: tutorialStep = TutorialStep::Step1; nextRoot = hudStep1Root; + topUiManager.replaceRoot(nullptr); break; case TutorialStep::Step1: tutorialStep = TutorialStep::Step2; @@ -860,7 +1034,7 @@ namespace ZL { } uiManager.replaceRoot(root); applyCurrentHealthBar(); - setupGameplayHudCallbacks(); + setupGameplayHudCallbacks(); // already calls hideAllToastWidgets + applyToastsToUi } void MenuManager::onPlayerStartedWalking() @@ -921,4 +1095,116 @@ namespace ZL { uiManager.setText("healthValue", hpText); } + // ---- Toast notification system ---- + + float MenuManager::ToastEntry::currentAlpha() const { + switch (state) { + case State::FadeIn: return min(timer / TOAST_FADE_MS, 1.0f); + case State::Visible: return 1.0f; + case State::FadeOut: return max(1.0f - timer / TOAST_FADE_MS, 0.0f); + } + return 0.0f; + } + + void MenuManager::showToast(const std::string& iconPath, const std::string& text) { + if (activeToasts_.size() < 3) { + ToastEntry e; + e.iconPath = iconPath; + e.text = text; + activeToasts_.push_back(std::move(e)); + } else { + toastQueue_.push_back({ iconPath, text }); + } + applyToastsToUi(); + } + + void MenuManager::updateToasts(float deltaMs) { + if (activeToasts_.empty() && toastQueue_.empty()) return; + + bool changed = false; + + for (auto& e : activeToasts_) { + e.timer += deltaMs; + // Advance state machine + if (e.state == ToastEntry::State::FadeIn && e.timer >= TOAST_FADE_MS) { + e.state = ToastEntry::State::Visible; + e.timer = 0.0f; + changed = true; + } else if (e.state == ToastEntry::State::Visible && e.timer >= TOAST_VISIBLE_MS) { + e.state = ToastEntry::State::FadeOut; + e.timer = 0.0f; + changed = true; + } else if (e.state == ToastEntry::State::FadeOut && e.timer >= TOAST_FADE_MS) { + changed = true; + } + } + + // Remove finished entries (FadeOut complete) + auto removed = std::remove_if(activeToasts_.begin(), activeToasts_.end(), + [](const ToastEntry& e) { + return e.state == ToastEntry::State::FadeOut && e.timer >= TOAST_FADE_MS; + }); + if (removed != activeToasts_.end()) { + activeToasts_.erase(removed, activeToasts_.end()); + changed = true; + } + + // Pull queued messages into now-free slots (with FadeIn) + while (!toastQueue_.empty() && activeToasts_.size() < 3) { + ToastEntry e; + e.iconPath = toastQueue_.front().iconPath; + e.text = toastQueue_.front().text; + toastQueue_.pop_front(); + activeToasts_.push_back(std::move(e)); + changed = true; + } + + if (changed) applyToastsToUi(); + // Also refresh alpha smoothly every frame while any slot is fading + else if (!activeToasts_.empty()) applyToastsToUi(); + } + + void MenuManager::applyToastsToUi() { + static const char* imgNames[3] = { "toast001", "toast002", "toast003" }; + static const char* txtNames[3] = { "toast001text", "toast002text", "toast003text" }; + + for (int i = 0; i < 3; ++i) { + if (i < static_cast(activeToasts_.size())) { + const ToastEntry& e = activeToasts_[i]; + const float a = e.currentAlpha(); + + auto img = uiManager.findStaticImage(imgNames[i]); + auto tv = uiManager.findTextView(txtNames[i]); + + if (img) { + img->texture = renderer.textureManager.LoadFromPng(e.iconPath, CONST_ZIP_FILE, true); + img->alpha = a; + } + if (tv) { + tv->color[3] = a; + } + uiManager.setText(txtNames[i], e.text); + uiManager.setNodeVisible(imgNames[i], true); + uiManager.setNodeVisible(txtNames[i], true); + } else { + uiManager.setNodeVisible(imgNames[i], false); + uiManager.setNodeVisible(txtNames[i], false); + } + } + } + + void MenuManager::hideAllToastWidgets() { + static const char* names[6] = { + "toast001", "toast001text", + "toast002", "toast002text", + "toast003", "toast003text" + }; + for (const char* name : names) + uiManager.setNodeVisible(name, false); + } + + void MenuManager::update(float deltaMs) { + updateToasts(deltaMs); + } + } // namespace ZL diff --git a/src/MenuManager.h b/src/MenuManager.h index 4b5387c..84ab123 100644 --- a/src/MenuManager.h +++ b/src/MenuManager.h @@ -6,6 +6,7 @@ #include "items/Item.h" #include "quest/QuestJournal.h" #include +#include #include #include @@ -14,6 +15,8 @@ namespace ZL { extern const char* CONST_ZIP_FILE; enum class GameState { + MainMenu, + About, Gameplay, Inventory, QuestJournal, @@ -56,21 +59,28 @@ namespace ZL { bool isInventoryOpen() const { return state == GameState::Inventory; } bool isQuestJournalOpen() const { return state == GameState::QuestJournal; } + void showMainMenu(); + bool isMainMenuOpen() const { return state == GameState::MainMenu; } + void openPhoneScreen(); void closePhoneScreen(); bool isPhoneScreenOpen() const { return state == GameState::PhoneScreen; } void closePhoneEntirely(); + void tutorialShowTaxiHint(); + void setChatUnread(int chatIndex, bool unread); void spendMoney(int amount); int getMoney() const { return money_; } + std::function startGameFunc; std::function startDialogueFunc; std::function startDarklandsTransitionFunc; std::function startNightTransitionFunc; std::function chatOpenCallback; std::function skipCutsceneFunc; + std::function callTaxiFunc; // Called when a chat message bubble should be shown (text + direction) void onChatBubbleReady(const std::string& text, bool incoming); @@ -90,6 +100,10 @@ namespace ZL { void onCutsceneFinished(); bool cutsceneHudActive_ = false; + // Toast notification system + void showToast(const std::string& iconPath, const std::string& text); + void update(float deltaMs); + TutorialStep tutorialStep = TutorialStep::Step0; protected: @@ -115,6 +129,27 @@ namespace ZL { void closePhoneScreenFromChat(); void applyUniIntHud(); void rebuildChatBubblesFromHistory(int chatIndex); + void showAboutScreen(); + + // Toast internals + struct ToastEntry { + std::string iconPath; + std::string text; + float timer = 0.0f; + enum class State { FadeIn, Visible, FadeOut } state = State::FadeIn; + float currentAlpha() const; + }; + struct ToastMessage { std::string iconPath; std::string text; }; + + void updateToasts(float deltaMs); + void applyToastsToUi(); + void hideAllToastWidgets(); + + std::vector activeToasts_; + std::deque toastQueue_; + + static constexpr float TOAST_FADE_MS = 1000.0f; + static constexpr float TOAST_VISIBLE_MS = 2000.0f; GameState state = GameState::Gameplay; Inventory* inventory = nullptr; @@ -128,8 +163,13 @@ namespace ZL { bool tutorialPhonePickedUp = false; bool tutorialJournalPickedUp = false; - bool tutorialPhoneScreenOpened = false; + //bool tutorialPhoneScreenOpened = false; + bool tutorialPhoneChatScreenOpened = false; bool tutorialJournalScreenOpened = false; + bool tutorialMessengerScreenOpened = false; + //bool tutorialTaxiScreenOpened = false; + + bool tutorialNeedOpenTaxiScreen = false; std::shared_ptr hudRoot; std::shared_ptr hudStep1Root; @@ -147,17 +187,30 @@ namespace ZL { std::shared_ptr hudUniIntStep13Root; std::shared_ptr hudUniIntDarkFullRoot; std::shared_ptr hudUniExtDarkRoot; + + std::shared_ptr hudCutsceneRoot_; + std::shared_ptr hudTopHintRoot_; + + std::shared_ptr phoneMainRoot; + std::shared_ptr phoneMainHintARoot; + std::shared_ptr phoneMainHintBRoot; + std::shared_ptr phoneMainHintABRoot; + std::shared_ptr phoneBankRoot; std::shared_ptr phoneVideoRoot; std::shared_ptr phoneMapDormRoot; std::shared_ptr phoneMapUniRoot; std::shared_ptr phoneChatListRoot; + std::shared_ptr phoneChatListHintRoot; std::shared_ptr phoneChat1Root; std::shared_ptr phoneChat2Root; std::shared_ptr phoneChat3Root; + std::shared_ptr mainMenuRoot; + std::shared_ptr aboutScreenRoot; + std::shared_ptr newInventoryRoot; std::shared_ptr questJournalRoot; diff --git a/src/ScriptEngine.cpp b/src/ScriptEngine.cpp index f126084..cfdf791 100644 --- a/src/ScriptEngine.cpp +++ b/src/ScriptEngine.cpp @@ -657,6 +657,18 @@ namespace ZL { return this_impl->questJournal->setActiveObjective(questId, index); }); + api.set_function("call_tutorial_taxi_required", + [game]() -> void { + if (game->onPlayerTaxiRequired) + { + game->onPlayerTaxiRequired(); + game->onPlayerTaxiRequired = nullptr; + } + else { + std::cerr << "[script] call_tutorial_taxi_required: function is empty\n"; + } + }); + lua.script_file(scriptPath); } diff --git a/src/UiManager.cpp b/src/UiManager.cpp index 16a2d50..851ccfa 100644 --- a/src/UiManager.cpp +++ b/src/UiManager.cpp @@ -402,15 +402,16 @@ namespace ZL { void UiStaticImage::draw(Renderer& renderer) const { if (!texture) return; - const float alpha = (fadeInEnabled && fadeInDurationMs > 0.0f) + const float fadeAlpha = (fadeInEnabled && fadeInDurationMs > 0.0f) ? std::clamp(fadeInElapsedMs / fadeInDurationMs, 0.0f, 1.0f) : 1.0f; + const float finalAlpha = alpha * fadeAlpha; renderer.RenderUniform1i(textureUniformName, 0); - renderer.RenderUniform1f("uAlpha", alpha); + renderer.RenderUniform1f("uAlpha", finalAlpha); glBindTexture(GL_TEXTURE_2D, texture->getTexID()); renderer.DrawVertexRenderStruct(mesh); - if (alpha < 1.0f) { + if (finalAlpha < 1.0f) { renderer.RenderUniform1f("uAlpha", 1.0f); // restore for subsequent draws } } diff --git a/src/UiManager.h b/src/UiManager.h index 936b69f..a11486f 100644 --- a/src/UiManager.h +++ b/src/UiManager.h @@ -236,6 +236,9 @@ namespace ZL { VertexRenderStruct mesh; + // Externally controllable opacity (0=transparent, 1=opaque). Multiplies with fade-in. + float alpha = 1.0f; + // Fade-in on first display (triggers each time the containing UI is shown) bool fadeInEnabled = false; float fadeInDurationMs = 1000.0f; diff --git a/src/dialogue/DialogueOverlay.cpp b/src/dialogue/DialogueOverlay.cpp index ca0f78d..2effd5c 100644 --- a/src/dialogue/DialogueOverlay.cpp +++ b/src/dialogue/DialogueOverlay.cpp @@ -19,9 +19,14 @@ bool DialogueOverlay::init(Renderer& renderer, const std::string& zipFile) { zipFilename = zipFile; textboxTexture = renderer.textureManager.LoadFromPng("resources/dialogue/textbox_bg.png", zipFile); - choiceMainTexture = renderer.textureManager.LoadFromPng("resources/dialogue/choice_main.png", zipFile); + textboxChoiceTexture = renderer.textureManager.LoadFromPng("resources/dialogue/DialogChoice001.png", zipFile); + /*choiceMainTexture = renderer.textureManager.LoadFromPng("resources/dialogue/choice_main.png", zipFile); choiceOptionalTexture = renderer.textureManager.LoadFromPng("resources/dialogue/choice_optional.png", zipFile); choiceSelectedTexture = renderer.textureManager.LoadFromPng("resources/dialogue/choice_selected.png", zipFile); + */ + choiceMainTexture = renderer.textureManager.LoadFromPng("resources/dialogue/ChoiceNormal001.png", zipFile); + choiceOptionalTexture = renderer.textureManager.LoadFromPng("resources/dialogue/ChoiceNormal001.png", zipFile); + choiceSelectedTexture = renderer.textureManager.LoadFromPng("resources/dialogue/ChoiceSelected001.png", zipFile); nameRenderer = std::make_unique(); bodyRenderer = std::make_unique(); @@ -57,6 +62,7 @@ void DialogueOverlay::draw(Renderer& renderer, const PresentationModel& model) { UiRect portraitRect{ 24.0f + 90, 24.0f + 16, 176.0f, 176.0f }; UiRect textboxRect{ 30.f, -48.f, 1222.f, 340.0f }; + UiRect textboxChoiceRect{ 30.f, -48.f, 1200.f, 619.5f }; lastDialogueAdvanceRect = { portraitRect.x, portraitRect.y, textboxRect.x + textboxRect.w - portraitRect.x, textboxRect.h }; @@ -69,6 +75,11 @@ void DialogueOverlay::draw(Renderer& renderer, const PresentationModel& model) { textboxQuad.rebuild(textboxRect); } + if (!textboxChoiceQuad.initialized || textboxChoiceQuad.rect.w != textboxChoiceRect.w || textboxChoiceQuad.rect.h != textboxChoiceRect.h || + textboxChoiceQuad.rect.x != textboxChoiceRect.x || textboxChoiceQuad.rect.y != textboxChoiceRect.y) { + textboxChoiceQuad.rebuild(textboxChoiceRect); + } + glEnable(GL_BLEND); renderer.shaderManager.PushShader(defaultShaderName); renderer.RenderUniform1i(textureUniformName, 0); @@ -77,45 +88,77 @@ void DialogueOverlay::draw(Renderer& renderer, const PresentationModel& model) { renderer.LoadIdentity(); renderer.RenderUniform1f("uAlpha", 1.0f); - glBindTexture(GL_TEXTURE_2D, textboxTexture->getTexID()); - renderer.DrawVertexRenderStruct(textboxQuad.mesh); + if (model.mode == PresentationMode::Choice) + { + glBindTexture(GL_TEXTURE_2D, textboxTexture->getTexID()); + renderer.DrawVertexRenderStruct(textboxChoiceQuad.mesh); + } + else + { + glBindTexture(GL_TEXTURE_2D, textboxTexture->getTexID()); + renderer.DrawVertexRenderStruct(textboxQuad.mesh); + } { + renderer.PushMatrix(); + + if (model.mode == PresentationMode::Choice) + { + renderer.TranslateMatrix(Vector3f{ 0, 230, 0 }); + } + auto portrait = loadTextureCached(model.portraitPath); if (portrait) { glBindTexture(GL_TEXTURE_2D, portrait->getTexID()); renderer.DrawVertexRenderStruct(portraitQuad.mesh); } + renderer.PopMatrix(); } renderer.PopMatrix(); renderer.PopProjectionMatrix(); renderer.shaderManager.PopShader(); - const float nameX = 312; + + const float nameX = 312+8; const float nameY = 232 - 38.0f; - const float bodyX = 312; + const float bodyX = 312+8; const float bodyY = 232 - 78.0f; + lastChoiceRects.clear(); + if (!model.speaker.empty()) { - nameRenderer->drawText(model.speaker, nameX, nameY, 1.0f, false, { 1.0f, 0.88f, 0.45f, 1.0f }); + + if (model.mode == PresentationMode::Choice) + { + nameRenderer->drawText(model.speaker, nameX+x, nameY+230, 1.0f, false, { 1.0f, 0.88f, 0.45f, 1.0f }); + } + else + { + + nameRenderer->drawText(model.speaker, nameX+x, nameY, 1.0f, false, { 1.0f, 0.88f, 0.45f, 1.0f }); + } } - const float bodyMaxWidthPx = W - nameX - 48.f - ZL::x - 60.f; + const float bodyMaxWidthPx = W - nameX - 48.f - 60.f; const std::string wrappedBody = wrapTextToWidth(model.visibleText, *bodyRenderer, bodyMaxWidthPx, 1.0f); bodyRenderer->drawText(wrappedBody, bodyX, bodyY, 1.0f, false, { 1.0f, 1.0f, 1.0f, 1.0f }); - lastChoiceRects.clear(); + if (model.mode == PresentationMode::Choice) { - const float choiceStartY = textboxRect.y + 56.0f; - const float choiceHeight = 30.0f; - const float choiceSpacing = 8.0f; - const float choiceWidth = textboxRect.w - 48.0f; + const float choiceStartY = 270.f-35; + const float choiceHeight = 121.f*0.9; + const float choiceSpacing = -30.f; + const float choiceWidth = 913.f * 0.9; + + //UiRect textboxRect{ 30.f, -48.f, 1222.f, 340.0f }; + if (choiceQuads.size() < model.choices.size()) { choiceQuads.resize(model.choices.size()); } + glEnable(GL_BLEND); renderer.shaderManager.PushShader(defaultShaderName); renderer.RenderUniform1i(textureUniformName, 0); renderer.PushProjectionMatrix(0.0f, W, 0.0f, Environment::projectionHeight, -10.0f, 10.0f); @@ -124,7 +167,7 @@ void DialogueOverlay::draw(Renderer& renderer, const PresentationModel& model) { for (size_t i = 0; i < model.choices.size(); ++i) { const float cy = choiceStartY + (choiceHeight + choiceSpacing) * static_cast(model.choices.size() - 1 - i); - UiRect rect{ textboxRect.x + 20.0f, cy, choiceWidth, choiceHeight }; + UiRect rect{ 300.f, cy, choiceWidth, choiceHeight }; lastChoiceRects.push_back(rect); choiceQuads[i].rebuild(rect); @@ -149,7 +192,7 @@ void DialogueOverlay::draw(Renderer& renderer, const PresentationModel& model) { const std::string wrappedChoice = wrapTextToWidth(model.choices[i].text, *choiceRenderer, rect.w - 28.0f, 1.0f); choiceRenderer->drawText( - wrappedChoice, rect.x + 14.0f, rect.y + 9.0f, 1.0f, false, + wrappedChoice, rect.x + 32.0f, rect.y + 50.f, 1.5f, false, isHighlighted ? std::array{1.0f, 1.0f, 1.0f, 1.0f} : color ); } diff --git a/src/dialogue/DialogueOverlay.h b/src/dialogue/DialogueOverlay.h index 01faa5a..e31910a 100644 --- a/src/dialogue/DialogueOverlay.h +++ b/src/dialogue/DialogueOverlay.h @@ -27,6 +27,8 @@ private: std::string zipFilename; std::shared_ptr textboxTexture; + std::shared_ptr textboxChoiceTexture; + std::shared_ptr choiceMainTexture; std::shared_ptr choiceOptionalTexture; std::shared_ptr choiceSelectedTexture; @@ -42,6 +44,7 @@ private: UiQuad portraitQuad; UiQuad textboxQuad; + UiQuad textboxChoiceQuad; mutable std::vector choiceQuads; std::shared_ptr loadTextureCached(const std::string& path); diff --git a/src/items/Item.cpp b/src/items/Item.cpp index 4c95718..4b878b4 100644 --- a/src/items/Item.cpp +++ b/src/items/Item.cpp @@ -15,6 +15,7 @@ namespace ZL { [&itemId](const Item& item) { return item.id == itemId; }); if (it != items.end()) { std::cout << "Item removed from inventory: " << it->name << std::endl; + if (onItemRemoved) onItemRemoved(itemId); items.erase(it); } } diff --git a/src/items/Item.h b/src/items/Item.h index ea2ff89..56f21da 100644 --- a/src/items/Item.h +++ b/src/items/Item.h @@ -31,8 +31,9 @@ namespace ZL { void clear() { items.clear(); } size_t getCount() const { return items.size(); } - // Called whenever an item is added; receives the item id. + // Called whenever an item is added/removed; receives the item id. std::function onItemAdded; + std::function onItemRemoved; }; } // namespace ZL \ No newline at end of file diff --git a/src/quest/QuestJournal.cpp b/src/quest/QuestJournal.cpp index 0b2fb19..cef1715 100644 --- a/src/quest/QuestJournal.cpp +++ b/src/quest/QuestJournal.cpp @@ -113,16 +113,21 @@ bool QuestJournal::unlockQuest(const std::string& questId) { if (!quest) return false; if (quest->status == QuestStatus::Hidden) { quest->status = QuestStatus::Available; + if (onQuestUnlocked) onQuestUnlocked(questId); } return true; } bool QuestJournal::completeQuest(const std::string& questId) { - return setStatus(questId, QuestStatus::Completed); + bool changed = setStatus(questId, QuestStatus::Completed); + if (changed && onQuestCompleted) onQuestCompleted(questId); + return changed; } bool QuestJournal::failQuest(const std::string& questId) { - return setStatus(questId, QuestStatus::Failed); + bool changed = setStatus(questId, QuestStatus::Failed); + if (changed && onQuestFailed) onQuestFailed(questId); + return changed; } bool QuestJournal::setObjectiveCompleted(const std::string& questId, const std::string& objectiveId, bool completed) { @@ -133,13 +138,19 @@ bool QuestJournal::setObjectiveCompleted(const std::string& questId, const std:: if (objective.id == objectiveId) { objective.completed = completed; + if (completed) { + if (onObjectiveCompleted) onObjectiveCompleted(questId, objectiveId); + } + if (completed && quest->definition.autoComplete && quest->status == QuestStatus::Available) { const bool allDone = std::all_of( quest->definition.objectives.begin(), quest->definition.objectives.end(), [](const QuestObjective& o) { return o.completed; }); - if (allDone) + if (allDone) { quest->status = QuestStatus::Completed; + if (onQuestCompleted) onQuestCompleted(questId); + } } return true; diff --git a/src/quest/QuestJournal.h b/src/quest/QuestJournal.h index 8b3312a..84be965 100644 --- a/src/quest/QuestJournal.h +++ b/src/quest/QuestJournal.h @@ -4,6 +4,7 @@ #include #include #include +#include namespace ZL::Quest { @@ -11,6 +12,12 @@ class QuestJournal { public: bool loadFromFile(const std::string& path, const std::string& zipFile = ""); + // Event callbacks — set by the owner (MenuManager) to receive notifications. + std::function onQuestUnlocked; + std::function onQuestCompleted; + std::function onQuestFailed; + std::function onObjectiveCompleted; + bool unlockQuest(const std::string& questId); bool completeQuest(const std::string& questId); bool failQuest(const std::string& questId); diff --git a/src/render/TextRenderer.cpp b/src/render/TextRenderer.cpp index 64e2906..0b7cbeb 100644 --- a/src/render/TextRenderer.cpp +++ b/src/render/TextRenderer.cpp @@ -471,7 +471,7 @@ void TextRenderer::drawText(const std::string& text, float x, float y, float sca r->DrawVertexRenderStruct(cached.mesh); - glDisable(GL_BLEND); + //glDisable(GL_BLEND); r->shaderManager.PopShader();