Add new sectors (rotation)

This commit is contained in:
tovjemam 2025-08-15 19:58:49 +02:00
parent 399b640505
commit 928294fc5b

View File

@ -17,29 +17,57 @@ App::App()
auto room001 = assets::SectorDef::LoadFromFile("data/room_001");
auto room002 = assets::SectorDef::LoadFromFile("data/room_002");
auto room003 = assets::SectorDef::LoadFromFile("data/room_003");
auto room004 = assets::SectorDef::LoadFromFile("data/room_004");
// blue/red
size_t s1i = world_.AddSector(room001);
game::Sector& s1 = world_.GetSector(s1i);
s1.AddLight(glm::vec3(0.0f, 2.0f, 1.8f), glm::vec3(0.0f, 1.0f, 1.0f), 5.0f);
s1.AddLight(glm::vec3(1.0f, 3.0f, 1.8f), glm::vec3(1.0f, 0.0f, 0.0f), 5.0f);
// green/white
size_t s2i = world_.AddSector(room001);
game::Sector& s2 = world_.GetSector(s2i);
s2.AddLight(glm::vec3(0.0f, 2.0f, 1.8f), glm::vec3(1.0f, 1.0f, 0.9f), 6.0f);
s2.AddLight(glm::vec3(2.0f, -0.0f, 1.0f), glm::vec3(0.0f, 1.0f, 0.0f), 3.0f);
// scaling hallway
size_t s3i = world_.AddSector(room003);
game::Sector& s3 = world_.GetSector(s3i);
s3.AddLight(glm::vec3(0.0f, 0.0f, 1.8f), glm::vec3(1.0f, 0.0f, 0.0f), 3.0f);
// purple
size_t s4i = world_.AddSector(room001);
game::Sector& s4 = world_.GetSector(s4i);
s4.AddLight(glm::vec3(0.0f, 0.0f, 1.8f), glm::vec3(1.0f, 0.2f, 1.0f), 6.0f);
// bend hallway
size_t s5i = world_.AddSector(room004);
game::Sector& s5 = world_.GetSector(s5i);
s5.AddLight(glm::vec3(0.0f, 0.0f, 3.5f), glm::vec3(1.0f, 0.5f, 0.5f), 3.0f);
s5.AddLight(glm::vec3(3.5f, 0.0f, -0.5f), glm::vec3(1.0f, 1.5f, 0.0f), 5.0f);
//world_.LinkPortals(s1i, "EDoor", s1i, "EDoor", 0);
// blue/red to green/white
world_.LinkPortals(s1i, "NDoor", s2i, "WDoor", 0);
// green/white to itself
world_.LinkPortals(s2i, "NDoor", s2i, "SDoor", 0);
// green/white to itself rotated
world_.LinkPortals(s2i, "EDoor", s2i, "EDoor", game::LINK_ROTATE180);
// scaling hallway
world_.LinkPortals(s1i, "EDoor", s3i, "BigDoor", 0);
world_.LinkPortals(s1i, "WDoor", s3i, "SmallDoor", 0);
// start to purple
world_.LinkPortals(s1i, "SDoor", s4i, "NDoor", 0);
// bend hallway to purple
world_.LinkPortals(s4i, "EDoor", s5i, "Door1", 0);
world_.LinkPortals(s4i, "SDoor", s5i, "Door2", 0);
world_.Bake();