diff --git a/GameObjectManager.cpp b/GameObjectManager.cpp index 9a13acc..ff7856c 100644 --- a/GameObjectManager.cpp +++ b/GameObjectManager.cpp @@ -173,6 +173,40 @@ void GameObjectManager::initialize() { carToy.inventoryIconTexturePtr = std::make_shared(CreateTextureDataFromBmp32("./textures/inventory_objects/battery.bmp32")); + + ActiveObject lock; + lock.name = "lock"; + lock.activeObjectMesh = ZL::LoadFromTextFile("./lock.txt"); // Add ZL:: namespace + lock.activeObjectMesh.Scale(5); + lock.activeObjectMeshMutable.AssignFrom(lock.activeObjectMesh); + lock.activeObjectMeshMutable.RefreshVBO(); + lock.objectPos = Vector3f{ 101, 100, 255 }; + lock.activeObjectTexturePtr = std::make_shared(CreateTextureDataFromBmp24("./Material.001_Base_color_1001_5.bmp")); + lock.activeObjectScreenTexturePtr = std::make_shared(CreateTextureDataFromBmp24("./aoscreen01.bmp")); + lock.activeObjectScreenMesh = CreateRect2D({ 0.f, 0.f }, { 64.f, 64.f }, 0.5); + lock.activeObjectScreenMeshMutable.AssignFrom(lock.activeObjectScreenMesh); + lock.activeObjectScreenMeshMutable.RefreshVBO(); + lock.inventoryIconTexturePtr = std::make_shared(CreateTextureDataFromBmp32("./textures/inventory_objects/battery.bmp32")); + + + + ActiveObject door; + door.name = "door"; + door.activeObjectMesh = ZL::LoadFromTextFile("./door.txt"); // Add ZL:: namespace + door.activeObjectMesh.Scale(15); + door.activeObjectMeshMutable.AssignFrom(door.activeObjectMesh); + door.activeObjectMeshMutable.RefreshVBO(); + door.objectPos = Vector3f{ -372, 50, 80 }; + door.activeObjectTexturePtr = std::make_shared(CreateTextureDataFromBmp24("./Material.001_Base_color_1001_5.bmp")); + door.activeObjectScreenTexturePtr = std::make_shared(CreateTextureDataFromBmp24("./aoscreen01.bmp")); + door.activeObjectScreenMesh = CreateRect2D({ 0.f, 0.f }, { 64.f, 64.f }, 0.5); + door.activeObjectScreenMeshMutable.AssignFrom(door.activeObjectScreenMesh); + door.activeObjectScreenMeshMutable.RefreshVBO(); + door.inventoryIconTexturePtr = std::make_shared(CreateTextureDataFromBmp32("./textures/inventory_objects/battery.bmp32")); + + + + Room room_1; room_1.roomTexture = std::make_shared(CreateTextureDataFromBmp24("./Material_Base_color_1001.bmp")); room_1.objects.push_back(cubeForFirstRoomT); @@ -217,14 +251,12 @@ void GameObjectManager::initialize() { Room room_3; room_3.roomTexture = std::make_shared(CreateTextureDataFromBmp24("./seconroom.bmp")); room_3.sound_name = "unseen-danger-fss-no-copyright-music-252588--online-audio-convert.com.ogg"; + room_3.objects.push_back(lock); + room_3.objects.push_back(door); room_3.roomLogic = createRoom2Logic(); room_3.textMesh = preloadedRoomMeshArr[2]; room_3.textMeshMutable.AssignFrom(room_3.textMesh); room_3.collisionMgr.setRoomBoundary(790, 790); - room_3.collisionMgr.addCollider(std::make_shared(Vector3f{ -227, 0, -166 }, Vector3f{ 398, 0, -154 })); - room_3.collisionMgr.addCollider(std::make_shared(Vector3f{ -328, 0, 182 }, Vector3f{ -216, 0, 332 })); - room_3.collisionMgr.addCollider(std::make_shared(Vector3f{ -227, 0, -400 }, Vector3f{ -208, 0, -165})); - room_3.collisionMgr.addCollider(std::make_shared(Vector3f{ 263, 0, 295 }, Vector3f{ 303, 0, 335 })); rooms.push_back(room_3); activeObjects = rooms[current_room_index].objects; diff --git a/door.txt b/door.txt new file mode 100644 index 0000000..3b8a194 --- /dev/null +++ b/door.txt @@ -0,0 +1,93 @@ +===Vertices: 8 +Vertex 0: +Vertex 1: +Vertex 2: +Vertex 3: +Vertex 4: +Vertex 5: +Vertex 6: +Vertex 7: +===UV Coordinates: +Face count: 12 +Face 0 +UV Count: 3 + UV + UV + UV +Face 1 +UV Count: 3 + UV + UV + UV +Face 2 +UV Count: 3 + UV + UV + UV +Face 3 +UV Count: 3 + UV + UV + UV +Face 4 +UV Count: 3 + UV + UV + UV +Face 5 +UV Count: 3 + UV + UV + UV +Face 6 +UV Count: 3 + UV + UV + UV +Face 7 +UV Count: 3 + UV + UV + UV +Face 8 +UV Count: 3 + UV + UV + UV +Face 9 +UV Count: 3 + UV + UV + UV +Face 10 +UV Count: 3 + UV + UV + UV +Face 11 +UV Count: 3 + UV + UV + UV +===Normals: +Vertex 0: Normal +Vertex 1: Normal +Vertex 2: Normal +Vertex 3: Normal +Vertex 4: Normal +Vertex 5: Normal +Vertex 6: Normal +Vertex 7: Normal +===Triangles: 12 +Triangle: [1, 2, 0] +Triangle: [3, 6, 2] +Triangle: [6, 5, 4] +Triangle: [5, 0, 4] +Triangle: [6, 0, 2] +Triangle: [3, 5, 7] +Triangle: [1, 3, 2] +Triangle: [3, 7, 6] +Triangle: [6, 7, 5] +Triangle: [5, 1, 0] +Triangle: [6, 4, 0] +Triangle: [3, 1, 5] diff --git a/lock.txt b/lock.txt new file mode 100644 index 0000000..059af4c --- /dev/null +++ b/lock.txt @@ -0,0 +1,559 @@ +===Vertices: 43 +Vertex 0: +Vertex 1: +Vertex 2: +Vertex 3: +Vertex 4: +Vertex 5: +Vertex 6: +Vertex 7: +Vertex 8: +Vertex 9: +Vertex 10: +Vertex 11: +Vertex 12: +Vertex 13: +Vertex 14: +Vertex 15: +Vertex 16: +Vertex 17: +Vertex 18: +Vertex 19: +Vertex 20: +Vertex 21: +Vertex 22: +Vertex 23: +Vertex 24: +Vertex 25: +Vertex 26: +Vertex 27: +Vertex 28: +Vertex 29: +Vertex 30: +Vertex 31: +Vertex 32: +Vertex 33: +Vertex 34: +Vertex 35: +Vertex 36: +Vertex 37: +Vertex 38: +Vertex 39: +Vertex 40: +Vertex 41: +Vertex 42: +===UV Coordinates: +Face count: 78 +Face 0 +UV Count: 3 + UV + UV + UV +Face 1 +UV Count: 3 + UV + UV + UV +Face 2 +UV Count: 3 + UV + UV + UV +Face 3 +UV Count: 3 + UV + UV + UV +Face 4 +UV Count: 3 + UV + UV + UV +Face 5 +UV Count: 3 + UV + UV + UV +Face 6 +UV Count: 3 + UV + UV + UV +Face 7 +UV Count: 3 + UV + UV + UV +Face 8 +UV Count: 3 + UV + UV + UV +Face 9 +UV Count: 3 + UV + UV + UV +Face 10 +UV Count: 3 + UV + UV + UV +Face 11 +UV Count: 3 + UV + UV + UV +Face 12 +UV Count: 3 + UV + UV + UV +Face 13 +UV Count: 3 + UV + UV + UV +Face 14 +UV Count: 3 + UV + UV + UV +Face 15 +UV Count: 3 + UV + UV + UV +Face 16 +UV Count: 3 + UV + UV + UV +Face 17 +UV Count: 3 + UV + UV + UV +Face 18 +UV Count: 3 + UV + UV + UV +Face 19 +UV Count: 3 + UV + UV + UV +Face 20 +UV Count: 3 + UV + UV + UV +Face 21 +UV Count: 3 + UV + UV + UV +Face 22 +UV Count: 3 + UV + UV + UV +Face 23 +UV Count: 3 + UV + UV + UV +Face 24 +UV Count: 3 + UV + UV + UV +Face 25 +UV Count: 3 + UV + UV + UV +Face 26 +UV Count: 3 + UV + UV + UV +Face 27 +UV Count: 3 + UV + UV + UV +Face 28 +UV Count: 3 + UV + UV + UV +Face 29 +UV Count: 3 + UV + UV + UV +Face 30 +UV Count: 3 + UV + UV + UV +Face 31 +UV Count: 3 + UV + UV + UV +Face 32 +UV Count: 3 + UV + UV + UV +Face 33 +UV Count: 3 + UV + UV + UV +Face 34 +UV Count: 3 + UV + UV + UV +Face 35 +UV Count: 3 + UV + UV + UV +Face 36 +UV Count: 3 + UV + UV + UV +Face 37 +UV Count: 3 + UV + UV + UV +Face 38 +UV Count: 3 + UV + UV + UV +Face 39 +UV Count: 3 + UV + UV + UV +Face 40 +UV Count: 3 + UV + UV + UV +Face 41 +UV Count: 3 + UV + UV + UV +Face 42 +UV Count: 3 + UV + UV + UV +Face 43 +UV Count: 3 + UV + UV + UV +Face 44 +UV Count: 3 + UV + UV + UV +Face 45 +UV Count: 3 + UV + UV + UV +Face 46 +UV Count: 3 + UV + UV + UV +Face 47 +UV Count: 3 + UV + UV + UV +Face 48 +UV Count: 3 + UV + UV + UV +Face 49 +UV Count: 3 + UV + UV + UV +Face 50 +UV Count: 3 + UV + UV + UV +Face 51 +UV Count: 3 + UV + UV + UV +Face 52 +UV Count: 3 + UV + UV + UV +Face 53 +UV Count: 3 + UV + UV + UV +Face 54 +UV Count: 3 + UV + UV + UV +Face 55 +UV Count: 3 + UV + UV + UV +Face 56 +UV Count: 3 + UV + UV + UV +Face 57 +UV Count: 3 + UV + UV + UV +Face 58 +UV Count: 3 + UV + UV + UV +Face 59 +UV Count: 3 + UV + UV + UV +Face 60 +UV Count: 3 + UV + UV + UV +Face 61 +UV Count: 3 + UV + UV + UV +Face 62 +UV Count: 3 + UV + UV + UV +Face 63 +UV Count: 3 + UV + UV + UV +Face 64 +UV Count: 3 + UV + UV + UV +Face 65 +UV Count: 3 + UV + UV + UV +Face 66 +UV Count: 3 + UV + UV + UV +Face 67 +UV Count: 3 + UV + UV + UV +Face 68 +UV Count: 3 + UV + UV + UV +Face 69 +UV Count: 3 + UV + UV + UV +Face 70 +UV Count: 3 + UV + UV + UV +Face 71 +UV Count: 3 + UV + UV + UV +Face 72 +UV Count: 3 + UV + UV + UV +Face 73 +UV Count: 3 + UV + UV + UV +Face 74 +UV Count: 3 + UV + UV + UV +Face 75 +UV Count: 3 + UV + UV + UV +Face 76 +UV Count: 3 + UV + UV + UV +Face 77 +UV Count: 3 + UV + UV + UV +===Normals: +Vertex 0: Normal +Vertex 1: Normal +Vertex 2: Normal +Vertex 3: Normal +Vertex 4: Normal +Vertex 5: Normal +Vertex 6: Normal +Vertex 7: Normal +Vertex 8: Normal +Vertex 9: Normal +Vertex 10: Normal +Vertex 11: Normal +Vertex 12: Normal +Vertex 13: Normal +Vertex 14: Normal +Vertex 15: Normal +Vertex 16: Normal +Vertex 17: Normal +Vertex 18: Normal +Vertex 19: Normal +Vertex 20: Normal +Vertex 21: Normal +Vertex 22: Normal +Vertex 23: Normal +Vertex 24: Normal +Vertex 25: Normal +Vertex 26: Normal +Vertex 27: Normal +Vertex 28: Normal +Vertex 29: Normal +Vertex 30: Normal +Vertex 31: Normal +Vertex 32: Normal +Vertex 33: Normal +Vertex 34: Normal +Vertex 35: Normal +Vertex 36: Normal +Vertex 37: Normal +Vertex 38: Normal +Vertex 39: Normal +Vertex 40: Normal +Vertex 41: Normal +Vertex 42: Normal +===Triangles: 78 +Triangle: [1, 2, 0] +Triangle: [3, 4, 2] +Triangle: [5, 6, 4] +Triangle: [7, 8, 6] +Triangle: [9, 0, 8] +Triangle: [2, 4, 6] +Triangle: [11, 12, 10] +Triangle: [13, 14, 12] +Triangle: [15, 16, 14] +Triangle: [17, 18, 16] +Triangle: [19, 10, 18] +Triangle: [12, 16, 18] +Triangle: [7, 23, 20] +Triangle: [20, 24, 21] +Triangle: [21, 25, 22] +Triangle: [22, 11, 19] +Triangle: [9, 29, 1] +Triangle: [26, 30, 29] +Triangle: [28, 30, 27] +Triangle: [17, 31, 28] +Triangle: [29, 3, 1] +Triangle: [30, 32, 29] +Triangle: [30, 34, 33] +Triangle: [31, 13, 34] +Triangle: [26, 7, 20] +Triangle: [27, 20, 21] +Triangle: [27, 22, 28] +Triangle: [28, 19, 17] +Triangle: [5, 32, 23] +Triangle: [23, 33, 24] +Triangle: [25, 33, 34] +Triangle: [11, 34, 13] +Triangle: [36, 37, 35] +Triangle: [38, 41, 37] +Triangle: [41, 40, 39] +Triangle: [40, 35, 39] +Triangle: [41, 35, 37] +Triangle: [38, 40, 42] +Triangle: [1, 3, 2] +Triangle: [3, 5, 4] +Triangle: [5, 7, 6] +Triangle: [7, 9, 8] +Triangle: [9, 1, 0] +Triangle: [8, 0, 6] +Triangle: [0, 2, 6] +Triangle: [11, 13, 12] +Triangle: [13, 15, 14] +Triangle: [15, 17, 16] +Triangle: [17, 19, 18] +Triangle: [19, 11, 10] +Triangle: [18, 10, 12] +Triangle: [12, 14, 16] +Triangle: [7, 5, 23] +Triangle: [20, 23, 24] +Triangle: [21, 24, 25] +Triangle: [22, 25, 11] +Triangle: [9, 26, 29] +Triangle: [26, 27, 30] +Triangle: [28, 31, 30] +Triangle: [17, 15, 31] +Triangle: [29, 32, 3] +Triangle: [30, 33, 32] +Triangle: [30, 31, 34] +Triangle: [31, 15, 13] +Triangle: [26, 9, 7] +Triangle: [27, 26, 20] +Triangle: [27, 21, 22] +Triangle: [28, 22, 19] +Triangle: [5, 3, 32] +Triangle: [23, 32, 33] +Triangle: [25, 24, 33] +Triangle: [11, 25, 34] +Triangle: [36, 38, 37] +Triangle: [38, 42, 41] +Triangle: [41, 42, 40] +Triangle: [40, 36, 35] +Triangle: [41, 39, 35] +Triangle: [38, 36, 40]