diff --git a/resources/config2/gameobjects2.json b/resources/config2/gameobjects2.json new file mode 100644 index 0000000..2fff040 --- /dev/null +++ b/resources/config2/gameobjects2.json @@ -0,0 +1,38 @@ +{ + "objects": [ + { + "name": "firebox", + "texturePath": "resources/w/Cube001.png", + "meshPath": "resources/w/firebox.txt", + "rotationX": 0.0, + "rotationY": -1.5707963267948966, + "rotationZ": 0.0, + "positionX": 0.0, + "positionY": 0.0, + "positionZ": 0.0, + "scale": 1.0, + "interactive": false + }, + { + "name": "medik", + "texturePath": "resources/w/red.png", + "meshPath": "resources/w/firebox.txt", + "rotationX": 0.0, + "rotationY": -1.5707963267948966, + "rotationZ": 0.0, + "positionX": 0.0, + "positionY": 0.0, + "positionZ": 4.0, + "scale": 1.0, + "interactive": true, + "item": { + "id": "health_potion", + "name": "Health Potion", + "description": "Restores 50 HP", + "icon": "resources/w/red.png", + "radius": 2.0 + }, + "activateFunction" : "on_health_pickup" + } + ] + } \ No newline at end of file diff --git a/resources/config2/npcs2.json b/resources/config2/npcs2.json new file mode 100644 index 0000000..d8c3cca --- /dev/null +++ b/resources/config2/npcs2.json @@ -0,0 +1,27 @@ +{ + "npcs": [ + { + "id": "npc_03_ghost", + "name": "NPC Floating Ghost", + "texturePath": "resources/w/ghost_skin001.png", + "animationIdlePath": "resources/w/default_float001.anim", + "animationWalkPath": "resources/w/default_float001.anim", + "positionX": 0.0, + "positionY": 0.0, + "positionZ": -5.0, + "walkSpeed": 1.5, + "rotationSpeed": 8.0, + "modelScale": 0.01, + "modelCorrectionRotX": 0.0, + "modelCorrectionRotY": 0.0, + "modelCorrectionRotZ": 0.0, + "interactionRadius": 1.0, + "gift": { + "id": "ghost_essence", + "name": "Ghost's Essence", + "description": "A mysterious essence from the Ghost realm", + "icon": "resources/w/red.png" + } + } + ] + } \ No newline at end of file diff --git a/resources/out/AzsBase001.txt b/resources/out/AzsBase001.txt new file mode 100644 index 0000000..6e2ba4c --- /dev/null +++ b/resources/out/AzsBase001.txt @@ -0,0 +1,642 @@ +===Vertices (Split by UV/Normal): 335 +V 0: Pos(-5.109732, -3.78697, -0.89011) Norm(0.0, 0.707107, 0.707107) UV(0.183669, 0.603883) +V 1: Pos(-4.628472, -3.78697, -0.89011) Norm(0.301516, 0.301516, 0.904531) UV(0.183669, 0.5) +V 2: Pos(-4.399885, -3.558383, -0.89011) Norm(0.610406, 0.534393, 0.584661) UV(0.233011, 0.450658) +V 3: Pos(-5.109732, -3.4637, -0.89011) Norm(0.047796, 0.719834, 0.692498) UV(0.253449, 0.603883) +V 4: Pos(-4.628472, 0.579866, -0.89011) Norm(0.301516, 0.301516, 0.904531) UV(0.183669, 0.5) +V 5: Pos(-4.628472, 0.285462, -0.89011) Norm(0.301516, -0.301516, 0.904531) UV(0.12012, 0.5) +V 6: Pos(-4.399885, 0.056875, -0.89011) Norm(0.610406, -0.534393, 0.584661) UV(0.070778, 0.450658) +V 7: Pos(-4.399885, 0.808453, -0.89011) Norm(0.610406, 0.534393, 0.584661) UV(0.233011, 0.450658) +V 8: Pos(-5.109732, 0.579866, -1.001985) Norm(0.0, 0.0, -1.0) UV(0.386779, 0.794432) +V 9: Pos(-5.551109, 0.579866, -1.001985) Norm(0.0, 0.0, -1.0) UV(0.386779, 0.699158) +V 10: Pos(-5.551109, 0.903137, -1.001985) Norm(0.0, 0.707107, -0.707107) UV(0.456559, 0.699158) +V 11: Pos(-5.109732, 0.903137, -1.001985) Norm(0.047796, 0.719834, -0.692498) UV(0.456559, 0.794432) +V 12: Pos(-6.473746, -3.78697, -1.001985) Norm(-0.0, 0.0, -1.0) UV(0.386779, 0.5) +V 13: Pos(-6.473746, -4.081375, -1.001985) Norm(-0.0, 0.0, -1.0) UV(0.32323, 0.5) +V 14: Pos(-6.702333, -4.309962, -1.001985) Norm(-0.610406, -0.534393, -0.584661) UV(0.273888, 0.450658) +V 15: Pos(-6.702333, -3.558383, -1.001985) Norm(-0.610406, 0.534393, -0.584661) UV(0.436121, 0.450658) +V 16: Pos(-4.628472, 0.579866, -1.001985) Norm(-0.0, 0.0, -1.0) UV(0.386779, 0.898315) +V 17: Pos(-4.399885, 0.808453, -1.001985) Norm(0.610406, 0.534393, -0.584661) UV(0.436121, 0.947657) +V 18: Pos(-4.628472, 0.285462, -1.001985) Norm(-0.0, 0.0, -1.0) UV(0.32323, 0.898315) +V 19: Pos(-5.109732, 0.285462, -1.001985) Norm(0.0, 0.0, -1.0) UV(0.32323, 0.794432) +V 20: Pos(-5.992487, -4.081375, -0.89011) Norm(0.0, -0.707107, 0.707107) UV(0.12012, 0.794432) +V 21: Pos(-6.473746, -4.081375, -0.89011) Norm(-0.301516, -0.301516, 0.904531) UV(0.12012, 0.898315) +V 22: Pos(-6.702333, -4.309962, -0.89011) Norm(-0.610406, -0.534393, 0.584661) UV(0.070778, 0.947658) +V 23: Pos(-5.992487, -4.404645, -0.89011) Norm(-0.047796, -0.719834, 0.692498) UV(0.05034, 0.794432) +V 24: Pos(-5.109732, 0.285462, -0.89011) Norm(0.0, -0.707107, 0.707107) UV(0.12012, 0.603883) +V 25: Pos(-5.551109, 0.285462, -0.89011) Norm(0.0, -0.707107, 0.707107) UV(0.12012, 0.699158) +V 26: Pos(-5.551109, -0.037808, -0.89011) Norm(0.0, -0.707107, 0.707107) UV(0.05034, 0.699158) +V 27: Pos(-5.109732, -0.037808, -0.89011) Norm(0.047796, -0.719834, 0.692498) UV(0.05034, 0.603883) +V 28: Pos(-5.992487, 0.579866, -1.001985) Norm(-0.0, 0.0, -1.0) UV(0.386779, 0.603883) +V 29: Pos(-5.992487, 0.285462, -1.001985) Norm(-0.0, 0.0, -1.0) UV(0.32323, 0.603883) +V 30: Pos(-6.473746, 0.285462, -1.001985) Norm(0.0, 0.0, -1.0) UV(0.32323, 0.5) +V 31: Pos(-6.473746, 0.579866, -1.001985) Norm(0.0, 0.0, -1.0) UV(0.386779, 0.5) +V 32: Pos(-4.628472, -3.78697, -1.001985) Norm(0.0, 0.0, -1.0) UV(0.386779, 0.898315) +V 33: Pos(-4.628472, -4.081375, -1.001985) Norm(0.0, 0.0, -1.0) UV(0.32323, 0.898315) +V 34: Pos(-5.109732, -4.081375, -1.001985) Norm(0.0, 0.0, -1.0) UV(0.32323, 0.794432) +V 35: Pos(-5.109732, -3.78697, -1.001985) Norm(0.0, 0.0, -1.0) UV(0.386779, 0.794432) +V 36: Pos(-5.551109, 0.285462, -1.001985) Norm(0.0, 0.0, -1.0) UV(0.32323, 0.699158) +V 37: Pos(-5.551109, -0.037808, -1.001985) Norm(0.0, -0.707107, -0.707107) UV(0.253449, 0.699158) +V 38: Pos(-5.992487, -0.037808, -1.001985) Norm(-0.047796, -0.719834, -0.692498) UV(0.253449, 0.603883) +V 39: Pos(-6.702333, 0.056875, -1.001985) Norm(-0.610406, -0.534393, -0.584661) UV(0.273888, 0.450658) +V 40: Pos(-6.702333, 0.808453, -1.001985) Norm(-0.610406, 0.534393, -0.584661) UV(0.436121, 0.450658) +V 41: Pos(-5.992487, -3.78697, -1.001985) Norm(-0.0, 0.0, -1.0) UV(0.386779, 0.603883) +V 42: Pos(-5.992487, -4.081375, -1.001985) Norm(-0.0, 0.0, -1.0) UV(0.32323, 0.603883) +V 43: Pos(-5.992487, -3.78697, -0.89011) Norm(0.0, 0.707107, 0.707107) UV(0.183669, 0.794432) +V 44: Pos(-5.551109, -3.78697, -0.89011) Norm(0.0, 0.707107, 0.707107) UV(0.183669, 0.699158) +V 45: Pos(-5.551109, -3.4637, -0.89011) Norm(0.0, 0.707107, 0.707107) UV(0.253449, 0.699158) +V 46: Pos(-5.992487, -3.4637, -0.89011) Norm(-0.047796, 0.719834, 0.692498) UV(0.253449, 0.794432) +V 47: Pos(-5.992487, 0.579866, -0.89011) Norm(-0.0, 0.707107, 0.707107) UV(0.183669, 0.794432) +V 48: Pos(-5.551109, 0.579866, -0.89011) Norm(0.0, 0.707107, 0.707107) UV(0.183669, 0.699158) +V 49: Pos(-5.551109, 0.903137, -0.89011) Norm(0.0, 0.707107, 0.707107) UV(0.253449, 0.699158) +V 50: Pos(-5.992487, 0.903137, -0.89011) Norm(-0.047796, 0.719834, 0.692498) UV(0.253449, 0.794432) +V 51: Pos(-5.109732, -0.037808, -1.001985) Norm(0.047796, -0.719834, -0.692498) UV(0.253449, 0.794432) +V 52: Pos(-5.551109, -4.081375, -1.001985) Norm(0.0, 0.0, -1.0) UV(0.32323, 0.699158) +V 53: Pos(-5.551109, -3.78697, -1.001985) Norm(0.0, 0.0, -1.0) UV(0.386779, 0.699158) +V 54: Pos(-5.109732, -4.081375, -0.89011) Norm(-0.0, -0.707107, 0.707107) UV(0.12012, 0.603883) +V 55: Pos(-5.551109, -4.081375, -0.89011) Norm(0.0, -0.707107, 0.707107) UV(0.12012, 0.699158) +V 56: Pos(-5.551109, -4.404645, -0.89011) Norm(0.0, -0.707107, 0.707107) UV(0.05034, 0.699158) +V 57: Pos(-5.109732, -4.404645, -0.89011) Norm(0.047796, -0.719834, 0.692498) UV(0.05034, 0.603883) +V 58: Pos(-5.109732, 0.579866, -0.89011) Norm(0.0, 0.707107, 0.707107) UV(0.183669, 0.603883) +V 59: Pos(-5.109732, 0.903137, -0.89011) Norm(0.047796, 0.719834, 0.692498) UV(0.253449, 0.603883) +V 60: Pos(-5.992487, 0.903137, -1.001985) Norm(-0.047796, 0.719834, -0.692498) UV(0.456559, 0.603883) +V 61: Pos(-5.109732, -3.78697, 0.250614) Norm(-0.301511, 0.904534, -0.301511) UV(0.799547, 0.242891) +V 62: Pos(-5.109732, -4.081375, 0.250614) Norm(-0.301511, -0.904534, -0.301511) UV(0.735998, 0.242891) +V 63: Pos(-5.551109, -4.081375, 0.250614) Norm(0.0, -0.707107, -0.707107) UV(0.735998, 0.147617) +V 64: Pos(-5.551109, -3.78697, 0.250614) Norm(0.0, 0.707107, -0.707107) UV(0.799547, 0.147617) +V 65: Pos(-5.992487, -4.081375, 0.250614) Norm(0.301511, -0.904534, -0.301511) UV(0.735998, 0.052343) +V 66: Pos(-5.992487, -3.78697, 0.250614) Norm(0.301511, 0.904534, -0.301511) UV(0.799547, 0.052343) +V 67: Pos(-5.992487, -3.78697, 0.250614) Norm(0.301511, 0.904534, -0.301511) UV(0.647207, 0.450658) +V 68: Pos(-5.992487, -4.081375, 0.250614) Norm(0.301511, -0.904534, -0.301511) UV(0.710756, 0.450658) +V 69: Pos(-5.992487, -4.081375, -0.649584) Norm(0.301511, -0.904534, 0.301511) UV(0.710756, 0.644972) +V 70: Pos(-5.992487, -3.78697, -0.649584) Norm(0.301511, 0.904534, 0.301511) UV(0.647207, 0.644972) +V 71: Pos(-4.628472, 0.285462, 0.698114) Norm(0.57735, -0.57735, 0.57735) UV(0.05034, 0.450658) +V 72: Pos(-5.109732, 0.285462, 0.698114) Norm(0.0, -0.707107, 0.707107) UV(0.05034, 0.346775) +V 73: Pos(-5.109732, 0.285462, 0.250614) Norm(-0.301511, -0.904534, -0.301511) UV(0.146936, 0.346775) +V 74: Pos(-4.628472, 0.285462, 0.250614) Norm(0.707107, -0.707107, 0.0) UV(0.146935, 0.450658) +V 75: Pos(-5.992487, 0.285462, 0.698114) Norm(0.0, -0.707107, 0.707107) UV(0.05034, 0.156226) +V 76: Pos(-6.473746, 0.285462, 0.698114) Norm(-0.57735, -0.57735, 0.57735) UV(0.05034, 0.052343) +V 77: Pos(-6.473746, 0.285462, 0.250614) Norm(-0.707107, -0.707107, 0.0) UV(0.146936, 0.052343) +V 78: Pos(-5.992487, 0.285462, 0.250614) Norm(0.301511, -0.904534, -0.301511) UV(0.146936, 0.156226) +V 79: Pos(-6.473746, 0.579866, 0.698114) Norm(-0.57735, 0.57735, 0.57735) UV(0.393169, 0.450658) +V 80: Pos(-5.992487, 0.579866, 0.698114) Norm(0.0, 0.707107, 0.707107) UV(0.393169, 0.346775) +V 81: Pos(-5.992487, 0.579866, 0.250614) Norm(0.301511, 0.904534, -0.301511) UV(0.489765, 0.346775) +V 82: Pos(-6.473746, 0.579866, 0.250614) Norm(-0.707107, 0.707107, 0.0) UV(0.489765, 0.450658) +V 83: Pos(-5.109732, 0.579866, 0.698114) Norm(0.0, 0.707107, 0.707107) UV(0.393169, 0.156226) +V 84: Pos(-4.628472, 0.579866, 0.698114) Norm(0.57735, 0.57735, 0.57735) UV(0.393169, 0.052343) +V 85: Pos(-4.628472, 0.579866, 0.250614) Norm(0.707107, 0.707107, 0.0) UV(0.489765, 0.052343) +V 86: Pos(-5.109732, 0.579866, 0.250614) Norm(-0.301511, 0.904534, -0.301511) UV(0.489765, 0.156226) +V 87: Pos(-6.473746, 0.285462, 0.698114) Norm(-0.57735, -0.57735, 0.57735) UV(0.520108, 0.450658) +V 88: Pos(-6.473746, 0.579866, 0.698114) Norm(-0.57735, 0.57735, 0.57735) UV(0.583657, 0.450658) +V 89: Pos(-6.473746, 0.579866, 0.250614) Norm(-0.707107, 0.707107, 0.0) UV(0.583657, 0.547254) +V 90: Pos(-6.473746, 0.285462, 0.250614) Norm(-0.707107, -0.707107, 0.0) UV(0.520108, 0.547254) +V 91: Pos(-4.628472, 0.579866, 0.698114) Norm(0.57735, 0.57735, 0.57735) UV(0.583657, 0.450658) +V 92: Pos(-4.628472, 0.285462, 0.698114) Norm(0.57735, -0.57735, 0.57735) UV(0.647207, 0.450658) +V 93: Pos(-4.628472, 0.285462, 0.250614) Norm(0.707107, -0.707107, 0.0) UV(0.647207, 0.547254) +V 94: Pos(-4.628472, 0.579866, 0.250614) Norm(0.707107, 0.707107, 0.0) UV(0.583657, 0.547254) +V 95: Pos(-5.551109, 0.285462, 0.698114) Norm(0.0, -0.707107, 0.707107) UV(0.05034, 0.2515) +V 96: Pos(-5.551109, 0.285462, 0.250614) Norm(0.0, -0.707107, -0.707107) UV(0.146936, 0.2515) +V 97: Pos(-5.551109, 0.579866, 0.698114) Norm(0.0, 0.707107, 0.707107) UV(0.393169, 0.2515) +V 98: Pos(-5.551109, 0.579866, 0.250614) Norm(0.0, 0.707107, -0.707107) UV(0.489765, 0.2515) +V 99: Pos(-5.551109, 0.579866, -0.649584) Norm(-0.301511, 0.904534, 0.301511) UV(0.684079, 0.2515) +V 100: Pos(-5.551109, 0.579866, 0.026865) Norm(-0.57735, 0.57735, 0.57735) UV(0.538063, 0.2515) +V 101: Pos(-5.109732, 0.579866, 0.026865) Norm(-0.301511, 0.904534, 0.301511) UV(0.538063, 0.156226) +V 102: Pos(-5.109732, 0.579866, -0.649584) Norm(0.0, 1.0, 0.0) UV(0.684079, 0.156226) +V 103: Pos(-6.473746, 0.579866, -0.649584) Norm(-0.707107, 0.707107, 0.0) UV(0.583657, 0.741568) +V 104: Pos(-6.473746, 0.285462, -0.649584) Norm(-0.707107, -0.707107, 0.0) UV(0.520108, 0.741568) +V 105: Pos(-4.628472, 0.579866, 0.026865) Norm(0.707107, 0.707107, 0.0) UV(0.583657, 0.595552) +V 106: Pos(-4.628472, 0.285462, 0.026865) Norm(0.707107, -0.707107, 0.0) UV(0.647207, 0.595552) +V 107: Pos(-4.628472, 0.285462, -0.649584) Norm(0.707107, -0.707107, 0.0) UV(0.647207, 0.741568) +V 108: Pos(-4.628472, 0.579866, -0.649584) Norm(0.707107, 0.707107, 0.0) UV(0.583657, 0.741568) +V 109: Pos(-5.992487, 0.579866, -0.649584) Norm(0.301511, 0.904534, 0.301511) UV(0.684079, 0.346775) +V 110: Pos(-6.473746, 0.579866, -0.649584) Norm(-0.707107, 0.707107, 0.0) UV(0.684079, 0.450658) +V 111: Pos(-6.473746, 0.285462, -0.649584) Norm(-0.707107, -0.707107, 0.0) UV(0.34125, 0.052343) +V 112: Pos(-5.992487, 0.285462, -0.649584) Norm(0.301511, -0.904534, 0.301511) UV(0.34125, 0.156226) +V 113: Pos(-4.628472, 0.579866, 0.026865) Norm(0.707107, 0.707107, 0.0) UV(0.538063, 0.052343) +V 114: Pos(-4.628472, 0.579866, -0.649584) Norm(0.707107, 0.707107, 0.0) UV(0.684079, 0.052343) +V 115: Pos(-5.551109, -4.081375, 0.026865) Norm(-0.57735, -0.57735, 0.57735) UV(0.195233, 0.2515) +V 116: Pos(-5.551109, -4.081375, -0.649584) Norm(-0.301511, -0.904534, 0.301511) UV(0.34125, 0.2515) +V 117: Pos(-5.109732, -4.081375, -0.649584) Norm(0.0, -1.0, 0.0) UV(0.34125, 0.346775) +V 118: Pos(-5.109732, -4.081375, 0.026865) Norm(-0.301511, -0.904534, 0.301511) UV(0.195233, 0.346775) +V 119: Pos(-6.473746, -4.081375, 0.698114) Norm(-0.57735, -0.57735, 0.57735) UV(0.520108, 0.450658) +V 120: Pos(-6.473746, -3.78697, 0.698114) Norm(-0.57735, 0.57735, 0.57735) UV(0.583658, 0.450658) +V 121: Pos(-6.473746, -3.78697, 0.250614) Norm(-0.707107, 0.707107, 0.0) UV(0.583658, 0.547254) +V 122: Pos(-6.473746, -4.081375, 0.250614) Norm(-0.707107, -0.707107, 0.0) UV(0.520108, 0.547254) +V 123: Pos(-4.628472, -3.78697, 0.698114) Norm(0.57735, 0.57735, 0.57735) UV(0.583658, 0.450658) +V 124: Pos(-4.628472, -4.081375, 0.698114) Norm(0.57735, -0.57735, 0.57735) UV(0.647207, 0.450658) +V 125: Pos(-4.628472, -4.081375, 0.250614) Norm(0.707107, -0.707107, 0.0) UV(0.647207, 0.547254) +V 126: Pos(-4.628472, -3.78697, 0.250614) Norm(0.707107, 0.707107, 0.0) UV(0.583658, 0.547254) +V 127: Pos(-6.473746, -3.78697, 0.698114) Norm(-0.57735, 0.57735, 0.57735) UV(0.393169, 0.450658) +V 128: Pos(-5.992487, -3.78697, 0.698114) Norm(0.0, 0.707107, 0.707107) UV(0.393169, 0.346775) +V 129: Pos(-5.992487, -3.78697, 0.250614) Norm(0.301511, 0.904534, -0.301511) UV(0.489765, 0.346775) +V 130: Pos(-6.473746, -3.78697, 0.250614) Norm(-0.707107, 0.707107, 0.0) UV(0.489765, 0.450658) +V 131: Pos(-4.628472, -4.081375, 0.698114) Norm(0.57735, -0.57735, 0.57735) UV(0.05034, 0.450658) +V 132: Pos(-5.109732, -4.081375, 0.698114) Norm(0.0, -0.707107, 0.707107) UV(0.05034, 0.346775) +V 133: Pos(-5.109732, -4.081375, 0.250614) Norm(-0.301511, -0.904534, -0.301511) UV(0.146936, 0.346775) +V 134: Pos(-4.628472, -4.081375, 0.250614) Norm(0.707107, -0.707107, 0.0) UV(0.146935, 0.450658) +V 135: Pos(-5.109732, -3.78697, 0.698114) Norm(0.0, 0.707107, 0.707107) UV(0.393169, 0.156226) +V 136: Pos(-4.628472, -3.78697, 0.698114) Norm(0.57735, 0.57735, 0.57735) UV(0.393169, 0.052343) +V 137: Pos(-4.628472, -3.78697, 0.250614) Norm(0.707107, 0.707107, 0.0) UV(0.489765, 0.052343) +V 138: Pos(-5.109732, -3.78697, 0.250614) Norm(-0.301511, 0.904534, -0.301511) UV(0.489765, 0.156226) +V 139: Pos(-5.992487, -4.081375, 0.698114) Norm(0.0, -0.707107, 0.707107) UV(0.05034, 0.156226) +V 140: Pos(-6.473746, -4.081375, 0.698114) Norm(-0.57735, -0.57735, 0.57735) UV(0.05034, 0.052343) +V 141: Pos(-6.473746, -4.081375, 0.250614) Norm(-0.707107, -0.707107, 0.0) UV(0.146936, 0.052343) +V 142: Pos(-5.992487, -4.081375, 0.250614) Norm(0.301511, -0.904534, -0.301511) UV(0.146936, 0.156226) +V 143: Pos(-5.551109, -3.78697, 0.698114) Norm(0.0, 0.707107, 0.707107) UV(0.393169, 0.2515) +V 144: Pos(-5.551109, -3.78697, 0.250614) Norm(0.0, 0.707107, -0.707107) UV(0.489765, 0.2515) +V 145: Pos(-5.551109, -4.081375, 0.698114) Norm(0.0, -0.707107, 0.707107) UV(0.05034, 0.2515) +V 146: Pos(-5.551109, -4.081375, 0.250614) Norm(0.0, -0.707107, -0.707107) UV(0.146936, 0.2515) +V 147: Pos(-5.109732, -3.78697, 0.250614) Norm(-0.301511, 0.904534, -0.301511) UV(0.863097, 0.376809) +V 148: Pos(-5.109732, -3.78697, 0.026865) Norm(-0.301511, 0.904534, 0.301511) UV(0.911395, 0.376809) +V 149: Pos(-5.109732, -4.081375, 0.026865) Norm(-0.301511, -0.904534, 0.301511) UV(0.911395, 0.440359) +V 150: Pos(-5.109732, -4.081375, 0.250614) Norm(-0.301511, -0.904534, -0.301511) UV(0.863097, 0.440359) +V 151: Pos(-6.473746, -4.081375, -0.649584) Norm(-0.707107, -0.707107, 0.0) UV(0.34125, 0.052343) +V 152: Pos(-5.992487, -4.081375, -0.649584) Norm(0.301511, -0.904534, 0.301511) UV(0.34125, 0.156226) +V 153: Pos(-5.551109, -3.78697, -0.649584) Norm(-0.301511, 0.904534, 0.301511) UV(0.684079, 0.2515) +V 154: Pos(-5.551109, -3.78697, 0.026865) Norm(-0.57735, 0.57735, 0.57735) UV(0.538063, 0.2515) +V 155: Pos(-5.109732, -3.78697, 0.026865) Norm(-0.301511, 0.904534, 0.301511) UV(0.538063, 0.156226) +V 156: Pos(-5.109732, -3.78697, -0.649584) Norm(0.0, 1.0, 0.0) UV(0.684079, 0.156226) +V 157: Pos(-4.628472, -3.78697, 0.026865) Norm(0.707107, 0.707107, 0.0) UV(0.538063, 0.052343) +V 158: Pos(-4.628472, -3.78697, -0.649584) Norm(0.707107, 0.707107, 0.0) UV(0.684079, 0.052343) +V 159: Pos(-5.992487, -3.78697, -0.649584) Norm(0.301511, 0.904534, 0.301511) UV(0.684079, 0.346775) +V 160: Pos(-6.473746, -3.78697, -0.649584) Norm(-0.707107, 0.707107, 0.0) UV(0.684079, 0.450658) +V 161: Pos(-4.628472, -4.081375, 0.026865) Norm(0.707107, -0.707107, 0.0) UV(0.195233, 0.450658) +V 162: Pos(-4.628472, -4.081375, -0.649584) Norm(0.707107, -0.707107, 0.0) UV(0.34125, 0.450658) +V 163: Pos(-6.473746, -3.78697, -0.649584) Norm(-0.707107, 0.707107, 0.0) UV(0.583658, 0.741568) +V 164: Pos(-6.473746, -4.081375, -0.649584) Norm(-0.707107, -0.707107, 0.0) UV(0.520108, 0.741568) +V 165: Pos(-5.551109, -3.78697, -0.649584) Norm(-0.301511, 0.904534, 0.301511) UV(0.863097, 0.695358) +V 166: Pos(-5.992487, -3.78697, -0.649584) Norm(0.301511, 0.904534, 0.301511) UV(0.863097, 0.790633) +V 167: Pos(-5.992487, -4.081375, -0.649584) Norm(0.301511, -0.904534, 0.301511) UV(0.799548, 0.790633) +V 168: Pos(-5.551109, -4.081375, -0.649584) Norm(-0.301511, -0.904534, 0.301511) UV(0.799548, 0.695358) +V 169: Pos(-5.992487, 0.285462, 0.250614) Norm(0.301511, -0.904534, -0.301511) UV(0.710756, 0.450658) +V 170: Pos(-5.992487, 0.285462, -0.649584) Norm(0.301511, -0.904534, 0.301511) UV(0.710756, 0.644972) +V 171: Pos(-5.992487, 0.579866, -0.649584) Norm(0.301511, 0.904534, 0.301511) UV(0.647207, 0.644972) +V 172: Pos(-5.992487, 0.579866, 0.250614) Norm(0.301511, 0.904534, -0.301511) UV(0.647207, 0.450658) +V 173: Pos(-5.992487, 0.285462, -0.649584) Norm(0.301511, -0.904534, 0.301511) UV(0.799547, 0.885907) +V 174: Pos(-5.551109, 0.285462, -0.649584) Norm(-0.301511, -0.904534, 0.301511) UV(0.799547, 0.790633) +V 175: Pos(-5.551109, 0.579866, -0.649584) Norm(-0.301511, 0.904534, 0.301511) UV(0.863096, 0.790633) +V 176: Pos(-5.992487, 0.579866, -0.649584) Norm(0.301511, 0.904534, 0.301511) UV(0.863096, 0.885907) +V 177: Pos(-5.992487, 0.285462, -0.89011) Norm(-0.0, -0.707107, 0.707107) UV(0.12012, 0.794432) +V 178: Pos(-5.992487, -0.037808, -0.89011) Norm(-0.047796, -0.719834, 0.692498) UV(0.05034, 0.794432) +V 179: Pos(-4.628472, 0.285462, 0.026865) Norm(0.707107, -0.707107, 0.0) UV(0.195233, 0.450658) +V 180: Pos(-5.109732, 0.285462, 0.026865) Norm(-0.301511, -0.904534, 0.301511) UV(0.195233, 0.346775) +V 181: Pos(-5.109732, 0.285462, -0.649584) Norm(0.0, -1.0, 0.0) UV(0.34125, 0.346775) +V 182: Pos(-4.628472, 0.285462, -0.649584) Norm(0.707107, -0.707107, 0.0) UV(0.34125, 0.450658) +V 183: Pos(-4.399885, 0.056875, -1.001985) Norm(0.610406, -0.534393, -0.584661) UV(0.273887, 0.947657) +V 184: Pos(-5.992487, 0.579866, 0.250614) Norm(0.301511, 0.904534, -0.301511) UV(0.799547, 0.052343) +V 185: Pos(-5.551109, 0.579866, 0.250614) Norm(0.0, 0.707107, -0.707107) UV(0.799547, 0.147617) +V 186: Pos(-5.551109, 0.285462, 0.250614) Norm(0.0, -0.707107, -0.707107) UV(0.735998, 0.147617) +V 187: Pos(-5.992487, 0.285462, 0.250614) Norm(0.301511, -0.904534, -0.301511) UV(0.735998, 0.052343) +V 188: Pos(-5.551109, 0.285462, 0.026865) Norm(-0.57735, -0.57735, 0.57735) UV(0.195233, 0.2515) +V 189: Pos(-5.551109, 0.285462, -0.649584) Norm(-0.301511, -0.904534, 0.301511) UV(0.34125, 0.2515) +V 190: Pos(-5.109732, -3.78697, -0.89011) Norm(0.0, 0.707107, 0.707107) UV(0.735998, 0.156226) +V 191: Pos(-5.551109, -3.78697, -0.89011) Norm(0.0, 0.707107, 0.707107) UV(0.735998, 0.2515) +V 192: Pos(-5.992487, 0.285462, -0.89011) Norm(-0.0, -0.707107, 0.707107) UV(0.393169, 0.156226) +V 193: Pos(-5.551109, 0.285462, -0.89011) Norm(0.0, -0.707107, 0.707107) UV(0.393169, 0.2515) +V 194: Pos(-5.109732, 0.285462, -0.89011) Norm(0.0, -0.707107, 0.707107) UV(0.393169, 0.346775) +V 195: Pos(-4.628472, 0.285462, -0.89011) Norm(0.301516, -0.301516, 0.904531) UV(0.393169, 0.450658) +V 196: Pos(-5.109732, -4.081375, 0.026865) Norm(-0.301511, -0.904534, 0.301511) UV(0.799548, 0.790633) +V 197: Pos(-5.109732, -3.78697, 0.026865) Norm(-0.301511, 0.904534, 0.301511) UV(0.863097, 0.790633) +V 198: Pos(-5.551109, -3.78697, 0.026865) Norm(-0.57735, 0.57735, 0.57735) UV(0.863097, 0.885907) +V 199: Pos(-5.551109, -4.081375, 0.026865) Norm(-0.57735, -0.57735, 0.57735) UV(0.799547, 0.885907) +V 200: Pos(-5.109732, 0.285462, 0.250614) Norm(-0.301511, -0.904534, -0.301511) UV(0.735998, 0.242891) +V 201: Pos(-5.109732, 0.579866, 0.250614) Norm(-0.301511, 0.904534, -0.301511) UV(0.799547, 0.242891) +V 202: Pos(-4.628472, -3.78697, 0.026865) Norm(0.707107, 0.707107, 0.0) UV(0.583658, 0.595552) +V 203: Pos(-4.628472, -4.081375, 0.026865) Norm(0.707107, -0.707107, 0.0) UV(0.647207, 0.595552) +V 204: Pos(-4.628472, -4.081375, -0.649584) Norm(0.707107, -0.707107, 0.0) UV(0.647207, 0.741568) +V 205: Pos(-4.628472, -3.78697, -0.649584) Norm(0.707107, 0.707107, 0.0) UV(0.583658, 0.741568) +V 206: Pos(-5.109732, 0.579866, 0.250614) Norm(-0.301511, 0.904534, -0.301511) UV(0.863096, 0.376809) +V 207: Pos(-5.109732, 0.579866, 0.026865) Norm(-0.301511, 0.904534, 0.301511) UV(0.911394, 0.376809) +V 208: Pos(-5.109732, 0.285462, 0.026865) Norm(-0.301511, -0.904534, 0.301511) UV(0.911394, 0.440358) +V 209: Pos(-5.109732, 0.285462, 0.250614) Norm(-0.301511, -0.904534, -0.301511) UV(0.863096, 0.440358) +V 210: Pos(-5.109732, 0.285462, 0.026865) Norm(-0.301511, -0.904534, 0.301511) UV(0.799547, 0.695358) +V 211: Pos(-5.109732, 0.579866, 0.026865) Norm(-0.301511, 0.904534, 0.301511) UV(0.863096, 0.695358) +V 212: Pos(-5.551109, 0.579866, 0.026865) Norm(-0.57735, 0.57735, 0.57735) UV(0.863096, 0.790633) +V 213: Pos(-5.551109, 0.285462, 0.026865) Norm(-0.57735, -0.57735, 0.57735) UV(0.799547, 0.790633) +V 214: Pos(-5.551109, -4.081375, 0.026865) Norm(-0.57735, -0.57735, 0.57735) UV(0.799547, 0.549342) +V 215: Pos(-5.551109, -3.78697, 0.026865) Norm(-0.57735, 0.57735, 0.57735) UV(0.863097, 0.549342) +V 216: Pos(-5.551109, -4.081375, -0.649584) Norm(-0.301511, -0.904534, 0.301511) UV(0.799547, 0.695358) +V 217: Pos(-5.551109, 0.579866, 0.026865) Norm(-0.57735, 0.57735, 0.57735) UV(0.863096, 0.549342) +V 218: Pos(-5.551109, 0.579866, -0.649584) Norm(-0.301511, 0.904534, 0.301511) UV(0.863096, 0.695358) +V 219: Pos(-5.551109, 0.285462, -0.649584) Norm(-0.301511, -0.904534, 0.301511) UV(0.799547, 0.695358) +V 220: Pos(-5.551109, 0.285462, 0.026865) Norm(-0.57735, -0.57735, 0.57735) UV(0.799547, 0.549342) +V 221: Pos(-5.551109, 0.579866, -0.89011) Norm(0.0, 0.707107, 0.707107) UV(0.735998, 0.2515) +V 222: Pos(-5.992487, 0.579866, -0.89011) Norm(-0.0, 0.707107, 0.707107) UV(0.735998, 0.346775) +V 223: Pos(-4.628472, 0.285462, -0.89011) Norm(0.301516, -0.301516, 0.904531) UV(0.647207, 0.793487) +V 224: Pos(-4.628472, 0.579866, -0.89011) Norm(0.301516, 0.301516, 0.904531) UV(0.583657, 0.793487) +V 225: Pos(-6.473746, 0.579866, -0.89011) Norm(-0.301516, 0.301516, 0.904531) UV(0.583657, 0.793487) +V 226: Pos(-6.473746, 0.285462, -0.89011) Norm(-0.301516, -0.301516, 0.904531) UV(0.520108, 0.793487) +V 227: Pos(-4.628472, 0.579866, -0.89011) Norm(0.301516, 0.301516, 0.904531) UV(0.735998, 0.052343) +V 228: Pos(-5.109732, 0.579866, -0.89011) Norm(0.0, 0.707107, 0.707107) UV(0.735998, 0.156226) +V 229: Pos(-6.473746, 0.579866, -0.89011) Norm(-0.301516, 0.301516, 0.904531) UV(0.735998, 0.450658) +V 230: Pos(-6.473746, 0.285462, -0.89011) Norm(-0.301516, -0.301516, 0.904531) UV(0.393169, 0.052343) +V 231: Pos(-5.992487, -4.081375, -0.89011) Norm(0.0, -0.707107, 0.707107) UV(0.393169, 0.156226) +V 232: Pos(-5.551109, -4.081375, -0.89011) Norm(0.0, -0.707107, 0.707107) UV(0.393169, 0.2515) +V 233: Pos(-5.109732, -4.081375, -0.89011) Norm(-0.0, -0.707107, 0.707107) UV(0.393169, 0.346775) +V 234: Pos(-5.992487, -3.78697, -0.89011) Norm(0.0, 0.707107, 0.707107) UV(0.735998, 0.346775) +V 235: Pos(-6.473746, -4.081375, -0.89011) Norm(-0.301516, -0.301516, 0.904531) UV(0.393169, 0.052343) +V 236: Pos(-4.628472, -3.78697, -0.89011) Norm(0.301516, 0.301516, 0.904531) UV(0.735998, 0.052343) +V 237: Pos(-4.628472, -4.081375, -0.89011) Norm(0.301516, -0.301516, 0.904531) UV(0.393169, 0.450658) +V 238: Pos(-6.473746, -3.78697, -0.89011) Norm(-0.301516, 0.301516, 0.904531) UV(0.735998, 0.450658) +V 239: Pos(-4.628472, -4.081375, -0.89011) Norm(0.301516, -0.301516, 0.904531) UV(0.647207, 0.793487) +V 240: Pos(-4.628472, -3.78697, -0.89011) Norm(0.301516, 0.301516, 0.904531) UV(0.583658, 0.793487) +V 241: Pos(-6.473746, -3.78697, -0.89011) Norm(-0.301516, 0.301516, 0.904531) UV(0.583658, 0.793487) +V 242: Pos(-6.473746, -4.081375, -0.89011) Norm(-0.301516, -0.301516, 0.904531) UV(0.520108, 0.793487) +V 243: Pos(-4.399885, 0.056875, -0.89011) Norm(0.610406, -0.534393, 0.584661) UV(0.735998, 0.739891) +V 244: Pos(-5.109732, -0.037808, -0.89011) Norm(0.047796, -0.719834, 0.692498) UV(0.735998, 0.586666) +V 245: Pos(-5.109732, -0.037808, -1.001985) Norm(0.047796, -0.719834, -0.692498) UV(0.760147, 0.586666) +V 246: Pos(-4.399885, 0.056875, -1.001985) Norm(0.610406, -0.534393, -0.584661) UV(0.760147, 0.739891) +V 247: Pos(-6.702333, -4.309962, -0.89011) Norm(-0.610406, -0.534393, 0.584661) UV(0.863097, 0.214576) +V 248: Pos(-6.702333, -3.558383, -0.89011) Norm(-0.610406, 0.534393, 0.584661) UV(0.863097, 0.052343) +V 249: Pos(-6.702333, -3.558383, -1.001985) Norm(-0.610406, 0.534393, -0.584661) UV(0.887246, 0.052343) +V 250: Pos(-6.702333, -4.309962, -1.001985) Norm(-0.610406, -0.534393, -0.584661) UV(0.887246, 0.214576) +V 251: Pos(-5.992487, -0.037808, -0.89011) Norm(-0.047796, -0.719834, 0.692498) UV(0.735998, 0.396117) +V 252: Pos(-6.702333, 0.056875, -0.89011) Norm(-0.610406, -0.534393, 0.584661) UV(0.735998, 0.242891) +V 253: Pos(-6.702333, 0.056875, -1.001985) Norm(-0.610406, -0.534393, -0.584661) UV(0.760147, 0.242891) +V 254: Pos(-5.992487, -0.037808, -1.001985) Norm(-0.047796, -0.719834, -0.692498) UV(0.760147, 0.396117) +V 255: Pos(-6.702333, 0.808453, -0.89011) Norm(-0.610406, 0.534393, 0.584661) UV(0.799547, 0.549342) +V 256: Pos(-5.992487, 0.903137, -0.89011) Norm(-0.047796, 0.719834, 0.692498) UV(0.799547, 0.396117) +V 257: Pos(-5.992487, 0.903137, -1.001985) Norm(-0.047796, 0.719834, -0.692498) UV(0.823696, 0.396117) +V 258: Pos(-6.702333, 0.808453, -1.001985) Norm(-0.610406, 0.534393, -0.584661) UV(0.823696, 0.549342) +V 259: Pos(-4.399885, -3.558383, -0.89011) Norm(0.610406, 0.534393, 0.584661) UV(0.863097, 0.376809) +V 260: Pos(-4.399885, -4.309962, -0.89011) Norm(0.610406, -0.534393, 0.584661) UV(0.863097, 0.214576) +V 261: Pos(-4.399885, -4.309962, -1.001985) Norm(0.610406, -0.534393, -0.584661) UV(0.887246, 0.214576) +V 262: Pos(-4.399885, -3.558383, -1.001985) Norm(0.610406, 0.534393, -0.584661) UV(0.887246, 0.37681) +V 263: Pos(-6.702333, -3.558383, -0.89011) Norm(-0.610406, 0.534393, 0.584661) UV(0.735998, 0.739891) +V 264: Pos(-5.992487, -3.4637, -0.89011) Norm(-0.047796, 0.719834, 0.692498) UV(0.735998, 0.586666) +V 265: Pos(-5.992487, -3.4637, -1.001985) Norm(-0.047796, 0.719834, -0.692498) UV(0.760147, 0.586666) +V 266: Pos(-6.702333, -3.558383, -1.001985) Norm(-0.610406, 0.534393, -0.584661) UV(0.760147, 0.739891) +V 267: Pos(-5.109732, 0.903137, -0.89011) Norm(0.047796, 0.719834, 0.692498) UV(0.799547, 0.205568) +V 268: Pos(-4.399885, 0.808453, -0.89011) Norm(0.610406, 0.534393, 0.584661) UV(0.799547, 0.052343) +V 269: Pos(-4.399885, 0.808453, -1.001985) Norm(0.610406, 0.534393, -0.584661) UV(0.823696, 0.052343) +V 270: Pos(-5.109732, 0.903137, -1.001985) Norm(0.047796, 0.719834, -0.692498) UV(0.823696, 0.205568) +V 271: Pos(-6.702333, 0.056875, -0.89011) Norm(-0.610406, -0.534393, 0.584661) UV(0.863096, 0.214576) +V 272: Pos(-6.702333, 0.808453, -0.89011) Norm(-0.610406, 0.534393, 0.584661) UV(0.863097, 0.052343) +V 273: Pos(-6.702333, 0.808453, -1.001985) Norm(-0.610406, 0.534393, -0.584661) UV(0.887246, 0.052343) +V 274: Pos(-6.702333, 0.056875, -1.001985) Norm(-0.610406, -0.534393, -0.584661) UV(0.887246, 0.214576) +V 275: Pos(-4.399885, 0.808453, -0.89011) Norm(0.610406, 0.534393, 0.584661) UV(0.863096, 0.376809) +V 276: Pos(-4.399885, 0.056875, -0.89011) Norm(0.610406, -0.534393, 0.584661) UV(0.863096, 0.214576) +V 277: Pos(-4.399885, 0.056875, -1.001985) Norm(0.610406, -0.534393, -0.584661) UV(0.887246, 0.214576) +V 278: Pos(-4.399885, 0.808453, -1.001985) Norm(0.610406, 0.534393, -0.584661) UV(0.887245, 0.376809) +V 279: Pos(-4.399885, -4.309962, -0.89011) Norm(0.610406, -0.534393, 0.584661) UV(0.799547, 0.549342) +V 280: Pos(-5.109732, -4.404645, -0.89011) Norm(0.047796, -0.719834, 0.692498) UV(0.799547, 0.396117) +V 281: Pos(-5.109732, -4.404645, -1.001985) Norm(0.047796, -0.719834, -0.692498) UV(0.823696, 0.396117) +V 282: Pos(-4.399885, -4.309962, -1.001985) Norm(0.610406, -0.534393, -0.584661) UV(0.823696, 0.549342) +V 283: Pos(-5.109732, -3.4637, -0.89011) Norm(0.047796, 0.719834, 0.692498) UV(0.735998, 0.396117) +V 284: Pos(-4.399885, -3.558383, -0.89011) Norm(0.610406, 0.534393, 0.584661) UV(0.735998, 0.242891) +V 285: Pos(-4.399885, -3.558383, -1.001985) Norm(0.610406, 0.534393, -0.584661) UV(0.760147, 0.242891) +V 286: Pos(-5.109732, -3.4637, -1.001985) Norm(0.047796, 0.719834, -0.692498) UV(0.760147, 0.396117) +V 287: Pos(-5.992487, -4.404645, -0.89011) Norm(-0.047796, -0.719834, 0.692498) UV(0.799547, 0.205568) +V 288: Pos(-6.702333, -4.309962, -0.89011) Norm(-0.610406, -0.534393, 0.584661) UV(0.799547, 0.052343) +V 289: Pos(-6.702333, -4.309962, -1.001985) Norm(-0.610406, -0.534393, -0.584661) UV(0.823696, 0.052343) +V 290: Pos(-5.992487, -4.404645, -1.001985) Norm(-0.047796, -0.719834, -0.692498) UV(0.823696, 0.205568) +V 291: Pos(-5.551109, -3.4637, -0.89011) Norm(0.0, 0.707107, 0.707107) UV(0.735998, 0.491391) +V 292: Pos(-5.551109, -3.4637, -1.001985) Norm(0.0, 0.707107, -0.707107) UV(0.760147, 0.491391) +V 293: Pos(-5.551109, -4.404645, -0.89011) Norm(0.0, -0.707107, 0.707107) UV(0.799547, 0.300842) +V 294: Pos(-5.551109, -4.404645, -1.001985) Norm(0.0, -0.707107, -0.707107) UV(0.823696, 0.300842) +V 295: Pos(-5.551109, -0.037808, -0.89011) Norm(0.0, -0.707107, 0.707107) UV(0.735998, 0.491391) +V 296: Pos(-5.551109, -0.037808, -1.001985) Norm(0.0, -0.707107, -0.707107) UV(0.760147, 0.491391) +V 297: Pos(-5.551109, 0.903137, -0.89011) Norm(0.0, 0.707107, 0.707107) UV(0.799547, 0.300842) +V 298: Pos(-5.551109, 0.903137, -1.001985) Norm(0.0, 0.707107, -0.707107) UV(0.823696, 0.300842) +V 299: Pos(-4.399885, -3.558383, -1.001985) Norm(0.610406, 0.534393, -0.584661) UV(0.436121, 0.947657) +V 300: Pos(-4.399885, -4.309962, -1.001985) Norm(0.610406, -0.534393, -0.584661) UV(0.273887, 0.947657) +V 301: Pos(-6.473746, 0.285462, -0.89011) Norm(-0.301516, -0.301516, 0.904531) UV(0.12012, 0.898315) +V 302: Pos(-6.473746, 0.579866, -0.89011) Norm(-0.301516, 0.301516, 0.904531) UV(0.183669, 0.898315) +V 303: Pos(-6.702333, 0.808453, -0.89011) Norm(-0.610406, 0.534393, 0.584661) UV(0.233011, 0.947657) +V 304: Pos(-6.702333, 0.056875, -0.89011) Norm(-0.610406, -0.534393, 0.584661) UV(0.070778, 0.947657) +V 305: Pos(-4.628472, -4.081375, -0.89011) Norm(0.301516, -0.301516, 0.904531) UV(0.12012, 0.5) +V 306: Pos(-4.399885, -4.309962, -0.89011) Norm(0.610406, -0.534393, 0.584661) UV(0.070778, 0.450658) +V 307: Pos(-5.992487, -3.4637, -1.001985) Norm(-0.047796, 0.719834, -0.692498) UV(0.456559, 0.603883) +V 308: Pos(-5.551109, -3.4637, -1.001985) Norm(0.0, 0.707107, -0.707107) UV(0.456559, 0.699158) +V 309: Pos(-5.109732, -3.4637, -1.001985) Norm(0.047796, 0.719834, -0.692498) UV(0.456559, 0.794432) +V 310: Pos(-6.473746, -3.78697, -0.89011) Norm(-0.301516, 0.301516, 0.904531) UV(0.183669, 0.898315) +V 311: Pos(-6.702333, -3.558383, -0.89011) Norm(-0.610406, 0.534393, 0.584661) UV(0.233011, 0.947658) +V 312: Pos(-5.992487, -4.404645, -1.001985) Norm(-0.047796, -0.719834, -0.692498) UV(0.253449, 0.603883) +V 313: Pos(-5.551109, -4.404645, -1.001985) Norm(0.0, -0.707107, -0.707107) UV(0.253449, 0.699158) +V 314: Pos(-5.109732, -4.404645, -1.001985) Norm(0.047796, -0.719834, -0.692498) UV(0.253449, 0.794432) +V 315: Pos(-4.628472, 0.285462, 0.698114) Norm(0.57735, -0.57735, 0.57735) UV(0.456559, 0.450658) +V 316: Pos(-4.628472, 0.579866, 0.698114) Norm(0.57735, 0.57735, 0.57735) UV(0.520108, 0.450658) +V 317: Pos(-5.109732, 0.579866, 0.698114) Norm(0.0, 0.707107, 0.707107) UV(0.520108, 0.554541) +V 318: Pos(-5.109732, 0.285462, 0.698114) Norm(0.0, -0.707107, 0.707107) UV(0.456559, 0.554541) +V 319: Pos(-5.551109, 0.579866, 0.698114) Norm(0.0, 0.707107, 0.707107) UV(0.520108, 0.649816) +V 320: Pos(-5.551109, 0.285462, 0.698114) Norm(0.0, -0.707107, 0.707107) UV(0.456559, 0.649816) +V 321: Pos(-5.992487, 0.579866, 0.698114) Norm(0.0, 0.707107, 0.707107) UV(0.520108, 0.74509) +V 322: Pos(-5.992487, 0.285462, 0.698114) Norm(0.0, -0.707107, 0.707107) UV(0.456559, 0.74509) +V 323: Pos(-6.473746, 0.579866, 0.698114) Norm(-0.57735, 0.57735, 0.57735) UV(0.520108, 0.848973) +V 324: Pos(-6.473746, 0.285462, 0.698114) Norm(-0.57735, -0.57735, 0.57735) UV(0.456559, 0.848973) +V 325: Pos(-4.628472, -4.081375, 0.698114) Norm(0.57735, -0.57735, 0.57735) UV(0.456559, 0.450658) +V 326: Pos(-4.628472, -3.78697, 0.698114) Norm(0.57735, 0.57735, 0.57735) UV(0.520108, 0.450658) +V 327: Pos(-5.109732, -3.78697, 0.698114) Norm(0.0, 0.707107, 0.707107) UV(0.520108, 0.554541) +V 328: Pos(-5.109732, -4.081375, 0.698114) Norm(0.0, -0.707107, 0.707107) UV(0.456559, 0.554541) +V 329: Pos(-5.551109, -3.78697, 0.698114) Norm(0.0, 0.707107, 0.707107) UV(0.520108, 0.649816) +V 330: Pos(-5.551109, -4.081375, 0.698114) Norm(0.0, -0.707107, 0.707107) UV(0.456559, 0.649816) +V 331: Pos(-5.992487, -3.78697, 0.698114) Norm(0.0, 0.707107, 0.707107) UV(0.520108, 0.74509) +V 332: Pos(-5.992487, -4.081375, 0.698114) Norm(0.0, -0.707107, 0.707107) UV(0.456559, 0.74509) +V 333: Pos(-6.473746, -3.78697, 0.698114) Norm(-0.57735, 0.57735, 0.57735) UV(0.520108, 0.848973) +V 334: Pos(-6.473746, -4.081375, 0.698114) Norm(-0.57735, -0.57735, 0.57735) UV(0.456559, 0.848973) + +===Triangles (Indices): 304 +Tri: 0 1 2 +Tri: 0 2 3 +Tri: 4 5 6 +Tri: 4 6 7 +Tri: 8 9 10 +Tri: 8 10 11 +Tri: 12 13 14 +Tri: 12 14 15 +Tri: 16 8 11 +Tri: 16 11 17 +Tri: 16 18 19 +Tri: 16 19 8 +Tri: 20 21 22 +Tri: 20 22 23 +Tri: 24 25 26 +Tri: 24 26 27 +Tri: 28 29 30 +Tri: 28 30 31 +Tri: 32 33 34 +Tri: 32 34 35 +Tri: 29 36 37 +Tri: 29 37 38 +Tri: 31 30 39 +Tri: 31 39 40 +Tri: 41 42 13 +Tri: 41 13 12 +Tri: 43 44 45 +Tri: 43 45 46 +Tri: 47 48 49 +Tri: 47 49 50 +Tri: 36 19 51 +Tri: 36 51 37 +Tri: 30 29 38 +Tri: 30 38 39 +Tri: 52 53 35 +Tri: 52 35 34 +Tri: 54 55 56 +Tri: 54 56 57 +Tri: 48 58 59 +Tri: 48 59 49 +Tri: 28 31 40 +Tri: 28 40 60 +Tri: 36 9 8 +Tri: 36 8 19 +Tri: 61 62 63 +Tri: 61 63 64 +Tri: 63 65 66 +Tri: 63 66 64 +Tri: 67 68 69 +Tri: 67 69 70 +Tri: 71 72 73 +Tri: 71 73 74 +Tri: 75 76 77 +Tri: 75 77 78 +Tri: 79 80 81 +Tri: 79 81 82 +Tri: 83 84 85 +Tri: 83 85 86 +Tri: 87 88 89 +Tri: 87 89 90 +Tri: 91 92 93 +Tri: 91 93 94 +Tri: 95 96 73 +Tri: 95 73 72 +Tri: 97 98 81 +Tri: 97 81 80 +Tri: 99 100 101 +Tri: 99 101 102 +Tri: 90 89 103 +Tri: 90 103 104 +Tri: 105 106 107 +Tri: 105 107 108 +Tri: 82 81 109 +Tri: 82 109 110 +Tri: 78 77 111 +Tri: 78 111 112 +Tri: 101 113 114 +Tri: 101 114 102 +Tri: 115 116 117 +Tri: 115 117 118 +Tri: 119 120 121 +Tri: 119 121 122 +Tri: 123 124 125 +Tri: 123 125 126 +Tri: 127 128 129 +Tri: 127 129 130 +Tri: 131 132 133 +Tri: 131 133 134 +Tri: 135 136 137 +Tri: 135 137 138 +Tri: 139 140 141 +Tri: 139 141 142 +Tri: 143 144 129 +Tri: 143 129 128 +Tri: 145 146 133 +Tri: 145 133 132 +Tri: 147 148 149 +Tri: 147 149 150 +Tri: 142 141 151 +Tri: 142 151 152 +Tri: 153 154 155 +Tri: 153 155 156 +Tri: 155 157 158 +Tri: 155 158 156 +Tri: 130 129 159 +Tri: 130 159 160 +Tri: 161 118 117 +Tri: 161 117 162 +Tri: 122 121 163 +Tri: 122 163 164 +Tri: 165 166 167 +Tri: 165 167 168 +Tri: 169 170 171 +Tri: 169 171 172 +Tri: 173 174 175 +Tri: 173 175 176 +Tri: 29 28 9 +Tri: 29 9 36 +Tri: 55 20 23 +Tri: 55 23 56 +Tri: 25 177 178 +Tri: 25 178 26 +Tri: 179 180 181 +Tri: 179 181 182 +Tri: 19 18 183 +Tri: 19 183 51 +Tri: 42 41 53 +Tri: 42 53 52 +Tri: 44 0 3 +Tri: 44 3 45 +Tri: 139 142 146 +Tri: 139 146 145 +Tri: 135 138 144 +Tri: 135 144 143 +Tri: 184 185 186 +Tri: 184 186 187 +Tri: 83 86 98 +Tri: 83 98 97 +Tri: 75 78 96 +Tri: 75 96 95 +Tri: 188 189 181 +Tri: 188 181 180 +Tri: 156 190 191 +Tri: 156 191 153 +Tri: 112 192 193 +Tri: 112 193 189 +Tri: 182 181 194 +Tri: 182 194 195 +Tri: 94 93 106 +Tri: 94 106 105 +Tri: 86 85 113 +Tri: 86 113 101 +Tri: 74 73 180 +Tri: 74 180 179 +Tri: 196 197 198 +Tri: 196 198 199 +Tri: 200 186 185 +Tri: 200 185 201 +Tri: 202 203 204 +Tri: 202 204 205 +Tri: 206 207 208 +Tri: 206 208 209 +Tri: 210 211 212 +Tri: 210 212 213 +Tri: 138 137 157 +Tri: 138 157 155 +Tri: 134 133 118 +Tri: 134 118 161 +Tri: 126 125 203 +Tri: 126 203 202 +Tri: 214 215 165 +Tri: 214 165 216 +Tri: 217 218 219 +Tri: 217 219 220 +Tri: 99 221 222 +Tri: 99 222 109 +Tri: 189 193 194 +Tri: 189 194 181 +Tri: 108 107 223 +Tri: 108 223 224 +Tri: 104 103 225 +Tri: 104 225 226 +Tri: 102 114 227 +Tri: 102 227 228 +Tri: 110 109 222 +Tri: 110 222 229 +Tri: 112 111 230 +Tri: 112 230 192 +Tri: 152 231 232 +Tri: 152 232 116 +Tri: 116 232 233 +Tri: 116 233 117 +Tri: 153 191 234 +Tri: 153 234 159 +Tri: 152 151 235 +Tri: 152 235 231 +Tri: 156 158 236 +Tri: 156 236 190 +Tri: 162 117 233 +Tri: 162 233 237 +Tri: 160 159 234 +Tri: 160 234 238 +Tri: 205 204 239 +Tri: 205 239 240 +Tri: 164 163 241 +Tri: 164 241 242 +Tri: 102 228 221 +Tri: 102 221 99 +Tri: 243 244 245 +Tri: 243 245 246 +Tri: 247 248 249 +Tri: 247 249 250 +Tri: 251 252 253 +Tri: 251 253 254 +Tri: 255 256 257 +Tri: 255 257 258 +Tri: 259 260 261 +Tri: 259 261 262 +Tri: 263 264 265 +Tri: 263 265 266 +Tri: 267 268 269 +Tri: 267 269 270 +Tri: 271 272 273 +Tri: 271 273 274 +Tri: 275 276 277 +Tri: 275 277 278 +Tri: 279 280 281 +Tri: 279 281 282 +Tri: 283 284 285 +Tri: 283 285 286 +Tri: 287 288 289 +Tri: 287 289 290 +Tri: 291 292 265 +Tri: 291 265 264 +Tri: 293 294 281 +Tri: 293 281 280 +Tri: 295 296 245 +Tri: 295 245 244 +Tri: 297 298 257 +Tri: 297 257 256 +Tri: 267 270 298 +Tri: 267 298 297 +Tri: 251 254 296 +Tri: 251 296 295 +Tri: 287 290 294 +Tri: 287 294 293 +Tri: 283 286 292 +Tri: 283 292 291 +Tri: 33 32 299 +Tri: 33 299 300 +Tri: 301 302 303 +Tri: 301 303 304 +Tri: 305 54 57 +Tri: 305 57 306 +Tri: 53 41 307 +Tri: 53 307 308 +Tri: 32 35 309 +Tri: 32 309 299 +Tri: 18 16 17 +Tri: 18 17 183 +Tri: 9 28 60 +Tri: 9 60 10 +Tri: 58 4 7 +Tri: 58 7 59 +Tri: 310 43 46 +Tri: 310 46 311 +Tri: 41 12 15 +Tri: 41 15 307 +Tri: 302 47 50 +Tri: 302 50 303 +Tri: 1 305 306 +Tri: 1 306 2 +Tri: 13 42 312 +Tri: 13 312 14 +Tri: 42 52 313 +Tri: 42 313 312 +Tri: 177 301 304 +Tri: 177 304 178 +Tri: 21 310 311 +Tri: 21 311 22 +Tri: 34 33 300 +Tri: 34 300 314 +Tri: 35 53 308 +Tri: 35 308 309 +Tri: 5 24 27 +Tri: 5 27 6 +Tri: 52 34 314 +Tri: 52 314 313 +Tri: 315 316 317 +Tri: 315 317 318 +Tri: 319 320 318 +Tri: 319 318 317 +Tri: 320 319 321 +Tri: 320 321 322 +Tri: 323 324 322 +Tri: 323 322 321 +Tri: 325 326 327 +Tri: 325 327 328 +Tri: 329 330 328 +Tri: 329 328 327 +Tri: 330 329 331 +Tri: 330 331 332 +Tri: 333 334 332 +Tri: 333 332 331 diff --git a/src/Game.cpp b/src/Game.cpp index d6d19f9..a8099b0 100644 --- a/src/Game.cpp +++ b/src/Game.cpp @@ -495,6 +495,15 @@ namespace ZL case SDLK_3: if (audioPlayer) audioPlayer->stopMusicAsync(); break; + case SDLK_c: + { + std::cout << "[GAME] Location change triggered by key press" << std::endl; + static size_t locIndex = 0; + static std::vector locations = { "default", "forest" }; + locIndex = (locIndex + 1) % locations.size(); + changeLocation(locations[locIndex]); + break; + } case SDLK_f: currentLocation->dialogueSystem.startDialogue("test_choice_dialogue"); break; @@ -581,4 +590,17 @@ namespace ZL } + void Game::changeLocation(const std::string& newLocationId) + { + if (!currentLocation) { + std::cout << "[GAME] No current location" << std::endl; + return; + } + std::cout << "[GAME] Changing location to: " << newLocationId << std::endl; + currentLocation->unload(); + currentLocation = std::make_shared(renderer, inventory, newLocationId); + currentLocation->setup(); + std::cout << "[GAME] Location changed" << std::endl; + } + } // namespace ZL diff --git a/src/Game.h b/src/Game.h index 7beab7b..9fb1fd9 100644 --- a/src/Game.h +++ b/src/Game.h @@ -53,6 +53,8 @@ namespace ZL { MenuManager menuManager; + void changeLocation(const std::string& locId); + private: bool rightMouseDown = false; int lastMouseX = 0; diff --git a/src/Location.cpp b/src/Location.cpp index 71e6884..aa927cf 100644 --- a/src/Location.cpp +++ b/src/Location.cpp @@ -20,14 +20,15 @@ namespace ZL static constexpr float CAMERA_FOV_Y = 1.0f / 1.5f; - Location::Location(Renderer& iRenderer, Inventory& iInventory) + Location::Location(Renderer& iRenderer, Inventory& iInventory, const std::string& locId) : renderer(iRenderer) , inventory(iInventory) + , locationId(locId) { } - void Location::setup() + /*void Location::setup() { roomTexture = std::make_unique(CreateTextureDataFromPng("resources/w/room005.png", CONST_ZIP_FILE)); roomMesh.data = LoadFromTextFile02("resources/w/room001.txt", CONST_ZIP_FILE); @@ -110,9 +111,96 @@ namespace ZL 2.0f, true, false - });*/ + }); + }*/ + + void Location::setup() + { + std::string roomTexPath; + std::string roomMeshPath; + std::string gameObjectsPath; + std::string interactiveObjectsPath; + std::string npcsPath; + + if (locationId == "forest") + { + std::cout << "[LOCATION] Setting up FOREST location (using placeholder resources)" << std::endl; + roomTexPath = "resources/w/room005.png"; + roomMeshPath = "resources/w/room001.txt"; + gameObjectsPath = "resources/config2/gameobjects2.json"; + interactiveObjectsPath = "resources/config2/gameobjects2.json"; + npcsPath = "resources/config2/npcs2.json"; + } + else // default + { + std::cout << "[LOCATION] Setting up DEFAULT location" << std::endl; + roomTexPath = "resources/w/room005.png"; + roomMeshPath = "resources/w/room001.txt"; + gameObjectsPath = "resources/config2/gameobjects.json"; + interactiveObjectsPath = "resources/config2/gameobjects.json"; + npcsPath = "resources/config2/npcs.json"; + } + + roomTexture = std::make_unique(CreateTextureDataFromPng(roomTexPath.c_str(), CONST_ZIP_FILE)); + roomMesh.data = LoadFromTextFile02(roomMeshPath.c_str(), CONST_ZIP_FILE); + roomMesh.data.RotateByMatrix(Eigen::Quaternionf(Eigen::AngleAxisf(-M_PI * 0.5, Eigen::Vector3f::UnitY())).toRotationMatrix()); + roomMesh.RefreshVBO(); + + gameObjects = GameObjectLoader::loadAndCreateGameObjects(gameObjectsPath, renderer, CONST_ZIP_FILE); + + interactiveObjects = GameObjectLoader::loadAndCreateInteractiveObjects(interactiveObjectsPath, renderer, CONST_ZIP_FILE); + + auto playerTexture = std::make_shared(CreateTextureDataFromPng("resources/w/gg/IMG_20260413_182354_992.png", CONST_ZIP_FILE)); + player = std::make_unique(); + player->loadBinaryAnimation(AnimationState::STAND, "resources/w/gg/gg_stand_idle001.anim", CONST_ZIP_FILE); + player->loadBinaryAnimation(AnimationState::WALK, "resources/w/gg/gg_walking001.anim", CONST_ZIP_FILE); + player->loadBinaryAnimation(AnimationState::STAND_TO_ACTION, "resources/w/gg/gg_stand_to_action002.anim", CONST_ZIP_FILE); + player->loadBinaryAnimation(AnimationState::ACTION_ATTACK, "resources/w/gg/gg_action_attack001.anim", CONST_ZIP_FILE); + player->loadBinaryAnimation(AnimationState::ACTION_IDLE, "resources/w/gg/gg_action_idle001.anim", CONST_ZIP_FILE); + player->loadBinaryAnimation(AnimationState::ACTION_TO_STAND, "resources/w/gg/gg_action_to_stand001.anim", CONST_ZIP_FILE); + player->setTexture(playerTexture); + player->walkSpeed = 3.0f; + player->rotationSpeed = 8.0f; + player->modelScale = 1.f; + player->modelCorrectionRotation = Eigen::Quaternionf(Eigen::AngleAxisf(M_PI, Eigen::Vector3f::UnitY())); + player->canAttack = true; + player->isPlayer = true; + std::cout << "Load resources step 9" << std::endl; + + npcs = GameObjectLoader::loadAndCreateNpcs(npcsPath, CONST_ZIP_FILE); + + auto ghostTexture = std::make_shared(CreateTextureDataFromPng("resources/w/ghost_skin001.png", CONST_ZIP_FILE)); + std::cout << "Load resources step 11" << std::endl; + auto npc02 = std::make_unique(); + npc02->loadBinaryAnimation(AnimationState::STAND, "resources/w/default_float001.anim", CONST_ZIP_FILE); + npc02->loadBinaryAnimation(AnimationState::WALK, "resources/w/default_float001.anim", CONST_ZIP_FILE); + npc02->loadBinaryAnimation(AnimationState::ACTION_IDLE, "resources/w/float_attack003_cut.anim", CONST_ZIP_FILE); + npc02->loadBinaryAnimation(AnimationState::ACTION_ATTACK, "resources/w/float_attack003.anim", CONST_ZIP_FILE); + npc02->loadBinaryAnimation(AnimationState::STAND_TO_ACTION, "resources/w/default_float001_cut.anim", CONST_ZIP_FILE); + npc02->loadBinaryAnimation(AnimationState::ACTION_TO_STAND, "resources/w/default_float001_cut.anim", CONST_ZIP_FILE); + npc02->setTexture(ghostTexture); + npc02->walkSpeed = 1.5f; + npc02->rotationSpeed = 8.0f; + npc02->modelScale = 0.01f; + npc02->modelCorrectionRotation = Eigen::Quaternionf(Eigen::AngleAxisf(M_PI, Eigen::Vector3f::UnitY())); + npc02->position = Eigen::Vector3f(0.f, 0.f, -20.f); + npc02->setTarget(npc02->position); + npc02->canAttack = true; + npc02->attackTarget = player.get(); + npcs.push_back(std::move(npc02)); + + shadowMap = std::make_unique(2048, 40.0f, 0.1f, 100.0f); + shadowMap->setLightDirection(Eigen::Vector3f(-0.5f, -1.0f, -0.3f)); + std::cout << "Shadow map initialized" << std::endl; + + setupNavigation(); + + scriptEngine.init(this, &inventory); + + dialogueSystem.init(renderer, CONST_ZIP_FILE); + dialogueSystem.loadDatabase("resources/dialogue/sample_dialogues.json"); } void Location::setupNavigation() @@ -666,5 +754,41 @@ namespace ZL return dialogueSystem.getFlag(flag); } + void Location::cleanup() + { + std::cout << "[LOCATION] Starting cleanup..." << std::endl; + + npcs.clear(); + + interactiveObjects.clear(); + + gameObjects.clear(); + + player.reset(); + + roomTexture.reset(); + + //dialogueSystem.dialogueDatabase.clear(); + + navigation = PathFinder(); + + cameraAzimuth = 0.0f; + cameraInclination = M_PI * 30.f / 180.f; + + targetInteractiveObject = nullptr; + rightMouseDown = false; + lastMouseX = 0; + lastMouseY = 0; + + std::cout << "[LOCATION] Cleanup complete" << std::endl; + } + + void Location::unload() + { + std::cout << "[LOCATION] Starting unload..." << std::endl; + cleanup(); + std::cout << "[LOCATION] Unload complete" << std::endl; + } + } // namespace ZL \ No newline at end of file diff --git a/src/Location.h b/src/Location.h index d0aa47f..cafbbc4 100644 --- a/src/Location.h +++ b/src/Location.h @@ -16,7 +16,7 @@ namespace ZL class Location { public: - Location(Renderer& iRenderer, Inventory& iInventory); + Location(Renderer& iRenderer, Inventory& iInventory, const std::string& locId = "default"); std::shared_ptr roomTexture; @@ -73,9 +73,15 @@ namespace ZL void setDialogueFlag(const std::string& flag, int value); int getDialogueFlag(const std::string& flag) const; + void cleanup(); + void unload(); + protected: Renderer& renderer; Inventory& inventory; + + private: + std::string locationId; }; } // namespace ZL \ No newline at end of file