|
|
|
@@ -86,11 +86,10 @@ void TestLevel::SetupResources(lwe::GpuInterface* inf)
|
|
|
|
|
AddResource(arial_24);
|
|
|
|
|
|
|
|
|
|
lwe::GpuModel* vampire = new lwe::GpuModel("resources/models/Vampire.ehm", inf);
|
|
|
|
|
//vampire->Calculate();
|
|
|
|
|
AddResource(vampire);
|
|
|
|
|
AddResource(new lwe::GpuImg("resources/textures/Character_Diffuse.png", inf, lwe::IMG_ASPECT_COLOR));
|
|
|
|
|
AddResource(new lwe::GpuImg("resources/textures/Character_Normal.png", inf, lwe::IMG_ASPECT_COLOR));
|
|
|
|
|
AddResource(new lwe::GpuImg("Resources/Textures/Character_Specular.png", inf, lwe::IMG_ASPECT_COLOR));
|
|
|
|
|
AddResource(new lwe::GpuImg("resources/textures/Character_Specular.png", inf, lwe::IMG_ASPECT_COLOR));
|
|
|
|
|
|
|
|
|
|
lwe::GpuMesh* portrait = new lwe::GpuMesh(inf, ehs::portrait);
|
|
|
|
|
//portrait->Calculate();
|
|
|
|
@@ -99,17 +98,17 @@ void TestLevel::SetupResources(lwe::GpuInterface* inf)
|
|
|
|
|
lwe::GpuMesh* portraitGUI = new lwe::GpuMesh(inf, ehs::portraitGui);
|
|
|
|
|
AddResource(portraitGUI);
|
|
|
|
|
|
|
|
|
|
AddResource(new lwe::GpuModel("Resources/Models/Cube.ehm", inf));
|
|
|
|
|
AddResource(new lwe::GpuModel("Resources/Models/Sphere.ehm", inf));
|
|
|
|
|
AddResource(new lwe::GpuModel("Resources/Models/PointLight.ehm", inf));
|
|
|
|
|
AddResource(new lwe::GpuModel("resources/models/Cube.ehm", inf));
|
|
|
|
|
AddResource(new lwe::GpuModel("resources/models/Sphere.ehm", inf));
|
|
|
|
|
AddResource(new lwe::GpuModel("resources/models/PointLight.ehm", inf));
|
|
|
|
|
|
|
|
|
|
lwe::GpuCubeMap* cm = new lwe::GpuCubeMap(inf, "Resources/Textures/Skybox", "Skybox");
|
|
|
|
|
lwe::GpuCubeMap* cm = new lwe::GpuCubeMap(inf, "resources/textures/skybox", "Skybox");
|
|
|
|
|
AddResource(cm);
|
|
|
|
|
|
|
|
|
|
AddResource(lwe::Audio::FromFile_Heap("Resources/Audio/sample.wav", lwe::DataType::FLOAT));
|
|
|
|
|
AddResource(new ehs::Audio("resources/audio/sample.wav", ehs::DataType::FLOAT));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void TestLevel::Setup()
|
|
|
|
|
void TestLevel::Setup(lwe::GpuInterface* inf)
|
|
|
|
|
{
|
|
|
|
|
lwe::GameLoop* gl = (lwe::GameLoop*)GetParent();
|
|
|
|
|
if (!gl)
|
|
|
|
@@ -275,7 +274,9 @@ void TestLevel::Setup()
|
|
|
|
|
|
|
|
|
|
timerSys->Add({0, 1.0f, args, [](lwe::Timer* timer, ehs::Serializer<ehs::UInt_64>& args)
|
|
|
|
|
{
|
|
|
|
|
lwe::GameLoop* gl = (lwe::GameLoop*)timer->GetParent("GameLoop");
|
|
|
|
|
lwe::TimerSystem* sys = timer->GetParent();
|
|
|
|
|
lwe::Level* lvl = sys->GetParent();
|
|
|
|
|
lwe::GameLoop* gl = lvl->GetParent();
|
|
|
|
|
|
|
|
|
|
lwe::CollectionGui* stats = args.Read<lwe::CollectionGui*>();
|
|
|
|
|
args.SetOffset(0);
|
|
|
|
@@ -292,18 +293,18 @@ void TestLevel::Setup()
|
|
|
|
|
testPanel->SetPosition({300.0f, 200.0f, 0.0f});
|
|
|
|
|
testPanel->SetScale({400.0f, 400.0f});
|
|
|
|
|
guiSys->AddGui(testPanel);
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
lwe::WindowGui* testWin = new lwe::WindowGui("TestWindow", "Hello world!");
|
|
|
|
|
testWin->SetPosition({300.0f, 200.0f, 0.0f});
|
|
|
|
|
testWin->SetScale({400.0f, 400.0f});
|
|
|
|
|
guiSys->AddGui(testWin);
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
lwe::Entity* player = new lwe::Entity("Player");
|
|
|
|
|
lwe::Entity player("Player");
|
|
|
|
|
|
|
|
|
|
//player->AddComponent(new lwe::Networked(true, false, lwe::EndpointOwner::ENDPOINT));
|
|
|
|
|
player->AddComponent(new lwe::Point3D("Head", 1.0f, 1.0f));
|
|
|
|
|
player->AddComponent(new lwe::PlyController("Head"));
|
|
|
|
|
player.AddComponent(new lwe::Point3D("Head", 1.0f, 1.0f));
|
|
|
|
|
player.AddComponent(new lwe::PlyController("Head"));
|
|
|
|
|
//player->AddComponent(new lwe::Health(100, 100));
|
|
|
|
|
|
|
|
|
|
lwe::SolidColor* plyMdl = new lwe::SolidColor("Cube", {0.0f, 0.0f, 1.0f}, "Cube", "");
|
|
|
|
@@ -314,10 +315,10 @@ void TestLevel::Setup()
|
|
|
|
|
|
|
|
|
|
AddTemplate((lwe::Entity&&)player);
|
|
|
|
|
|
|
|
|
|
lwe::Entity* plyPuppet = new lwe::Entity("Puppet");
|
|
|
|
|
plyPuppet->AddComponent(new lwe::OBB3D("Head", 1.0f, 1.0f));
|
|
|
|
|
plyPuppet->AddComponent(new lwe::Camera("Head"));
|
|
|
|
|
plyPuppet->AddComponent(new lwe::Health(100, 100));
|
|
|
|
|
lwe::Entity plyPuppet("Puppet");
|
|
|
|
|
plyPuppet.AddComponent(new lwe::OBB3D("Head", 1.0f, 1.0f));
|
|
|
|
|
plyPuppet.AddComponent(new lwe::Camera("Head"));
|
|
|
|
|
plyPuppet.AddComponent(new lwe::Health(100, 100));
|
|
|
|
|
|
|
|
|
|
lwe::SolidColor* puppetMdl = new lwe::SolidColor("Cube", {0.0f, 0.0f, 1.0f}, "Cube", "");
|
|
|
|
|
puppetMdl->SetDiffused(true);
|
|
|
|
@@ -327,18 +328,18 @@ void TestLevel::Setup()
|
|
|
|
|
|
|
|
|
|
AddTemplate((lwe::Entity&&)plyPuppet);
|
|
|
|
|
|
|
|
|
|
CreateEntity(player->GetHashId(), "Player");
|
|
|
|
|
CreateEntity("Player", "Player");
|
|
|
|
|
|
|
|
|
|
lwe::Entity* skyboxEnt = new lwe::Entity("Skybox");
|
|
|
|
|
lwe::Entity skyboxEnt("Skybox");
|
|
|
|
|
|
|
|
|
|
lwe::Skybox* skybox = new lwe::Skybox("Skybox", "Skybox");
|
|
|
|
|
skyboxEnt->AddComponent(skybox);
|
|
|
|
|
skyboxEnt.AddComponent(skybox);
|
|
|
|
|
|
|
|
|
|
AddEntity((lwe::Entity&&)skyboxEnt);
|
|
|
|
|
|
|
|
|
|
lwe::Entity* ent = new lwe::Entity("Main");
|
|
|
|
|
ent->SetScale({0.25f, 0.25f, 0.25f});
|
|
|
|
|
ent->SetPos({0.0f, -1.0f, 5.0f});
|
|
|
|
|
lwe::Entity ent("Main");
|
|
|
|
|
ent.SetScale({0.25f, 0.25f, 0.25f});
|
|
|
|
|
ent.SetPos({0.0f, -1.0f, 5.0f});
|
|
|
|
|
//ent->SetRot({-90.0f, 180.0f, 0.0f});
|
|
|
|
|
|
|
|
|
|
//ent->AddComponent(new lwe::Networked(false, false, lwe::EndpointOwner::SERVICE));
|
|
|
|
@@ -346,12 +347,13 @@ void TestLevel::Setup()
|
|
|
|
|
lwe::AudioSource3D* as = new lwe::AudioSource3D("Song", "sample", 20.0f);
|
|
|
|
|
as->Pause();
|
|
|
|
|
as->EnableLoop(true);
|
|
|
|
|
as->EnableAutoDelete(false);
|
|
|
|
|
//as->EnablePanning(false);
|
|
|
|
|
//as->EnableAttenuation(false);
|
|
|
|
|
ent->AddComponent(as);
|
|
|
|
|
ent.AddComponent(as);
|
|
|
|
|
|
|
|
|
|
lwe::Health* entHealth = new lwe::Health(100, 100);
|
|
|
|
|
ent->AddComponent(entHealth);
|
|
|
|
|
ent.AddComponent(entHealth);
|
|
|
|
|
|
|
|
|
|
lwe::OBB3D* entCollider = new lwe::OBB3D("Collider", 1.0f, 1.0f);
|
|
|
|
|
entCollider->SetScale({1.0f, 2.0f, 1.0f});
|
|
|
|
@@ -368,7 +370,7 @@ void TestLevel::Setup()
|
|
|
|
|
if (health->GetHealth() <= 0)
|
|
|
|
|
aOwner->Delete();
|
|
|
|
|
});
|
|
|
|
|
ent->AddComponent(entCollider);
|
|
|
|
|
ent.AddComponent(entCollider);
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
lwe::AudioSource* as2 = new lwe::AudioSource("Song2", "sample");
|
|
|
|
@@ -378,7 +380,7 @@ void TestLevel::Setup()
|
|
|
|
|
|
|
|
|
|
lwe::Phong* ph = new lwe::Phong("Cube", "Vampire", "", "Character_Diffuse", "Character_Specular", "Character_Normal");
|
|
|
|
|
ph->SetAnimation("Test");
|
|
|
|
|
ent->AddComponent(ph);
|
|
|
|
|
ent.AddComponent(ph);
|
|
|
|
|
|
|
|
|
|
AddEntity((lwe::Entity&&)ent);
|
|
|
|
|
|
|
|
|
@@ -391,33 +393,33 @@ void TestLevel::Setup()
|
|
|
|
|
|
|
|
|
|
AddEntity((lwe::Entity&&)sun);
|
|
|
|
|
|
|
|
|
|
lwe::Entity* emergency = new lwe::Entity("Emergency");
|
|
|
|
|
emergency->SetPos({5.0f, 0.0f, 5.0f});
|
|
|
|
|
lwe::Entity emergency("Emergency");
|
|
|
|
|
emergency.SetPos({5.0f, 0.0f, 5.0f});
|
|
|
|
|
|
|
|
|
|
lwe::PointLight* pl = new lwe::PointLight("Light");
|
|
|
|
|
pl->SetColor({1.0f, 0.0f, 0.0f});
|
|
|
|
|
emergency->AddComponent(pl);
|
|
|
|
|
emergency.AddComponent(pl);
|
|
|
|
|
|
|
|
|
|
AddEntity((lwe::Entity&&)emergency);
|
|
|
|
|
|
|
|
|
|
lwe::Entity* testEnt = new lwe::Entity("Test");
|
|
|
|
|
lwe::Entity testEnt("Test");
|
|
|
|
|
|
|
|
|
|
lwe::Billboard* testBb = new lwe::Billboard("TestBB", "Character_Diffuse");
|
|
|
|
|
testEnt->AddComponent(testBb);
|
|
|
|
|
testEnt.AddComponent(testBb);
|
|
|
|
|
|
|
|
|
|
AddEntity((lwe::Entity&&)testEnt);
|
|
|
|
|
|
|
|
|
|
lwe::Entity* bullet = new lwe::Entity("Bullet");
|
|
|
|
|
bullet->SetScale({0.1f, 0.1f, 0.1f});
|
|
|
|
|
lwe::Entity bullet("Bullet");
|
|
|
|
|
bullet.SetScale({0.1f, 0.1f, 0.1f});
|
|
|
|
|
|
|
|
|
|
bullet->AddComponent(new lwe::Projectile(25));
|
|
|
|
|
bullet.AddComponent(new lwe::Projectile(25));
|
|
|
|
|
|
|
|
|
|
lwe::OBB3D* bulletCollider = new lwe::OBB3D("Collider", 1.0f, 1.0f);
|
|
|
|
|
bulletCollider->SetScale(0.1f);
|
|
|
|
|
bullet->AddComponent(bulletCollider);
|
|
|
|
|
bullet.AddComponent(bulletCollider);
|
|
|
|
|
|
|
|
|
|
lwe::SolidColor* bulletMdl = new lwe::SolidColor("Mdl", {1.0f, 1.0f, 0.0f, 1.0f}, "Cube", "");
|
|
|
|
|
bullet->AddComponent(bulletMdl);
|
|
|
|
|
bullet.AddComponent(bulletMdl);
|
|
|
|
|
|
|
|
|
|
AddTemplate((lwe::Entity&&)bullet);
|
|
|
|
|
}
|
|
|
|
@@ -538,7 +540,7 @@ void TestLevel::OnUpdate(lwe::RenderWindow* win, ehs::Input* input, const float
|
|
|
|
|
if (!source)
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
lwe::Audio* audio = (lwe::Audio*)GetResource("Audio", source->GetAudioHashId());
|
|
|
|
|
ehs::Audio* audio = (ehs::Audio*)GetResource("Audio", source->GetAudioHashId());
|
|
|
|
|
if (!audio)
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
@@ -550,13 +552,11 @@ void TestLevel::OnUpdate(lwe::RenderWindow* win, ehs::Input* input, const float
|
|
|
|
|
playback->SetText("Playback: " + ehs::Str_8::FromNum(elapsed / 60) + ":" + ehs::Str_8::FromNum(elapsed % 60) +
|
|
|
|
|
" / " + ehs::Str_8::FromNum(duration / 60) + ":" + ehs::Str_8::FromNum(duration % 60));
|
|
|
|
|
|
|
|
|
|
if (win->IsCursorConstrained() && !win->IsCursorVisible())
|
|
|
|
|
{
|
|
|
|
|
if (keyboard->IsJustReleased(ehs::Keyboard::Left))
|
|
|
|
|
source->SetVolume(source->GetVolume() - 0.25f);
|
|
|
|
|
source->SetVolume(source->GetVolume() - 0.1f);
|
|
|
|
|
|
|
|
|
|
if (keyboard->IsJustReleased(ehs::Keyboard::Right))
|
|
|
|
|
source->SetVolume(source->GetVolume() + 0.25f);
|
|
|
|
|
source->SetVolume(source->GetVolume() + 0.1f);
|
|
|
|
|
|
|
|
|
|
lwe::LabelGui* volume = (lwe::LabelGui*)stats->GetChild("Volume");
|
|
|
|
|
volume->SetText("Volume: " + ehs::Str_8::FromNum(source->GetVolume()));
|
|
|
|
@@ -572,4 +572,3 @@ void TestLevel::OnUpdate(lwe::RenderWindow* win, ehs::Input* input, const float
|
|
|
|
|
if (keyboard->IsJustReleased(ehs::Keyboard::Backspace))
|
|
|
|
|
source->Reset();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|