Merge pull request #19 from CrystalPointA4/feature/werkendewav

Feature/werkendewav
This commit is contained in:
2016-06-20 20:37:14 +02:00
committed by GitHub
15 changed files with 51 additions and 19 deletions
+4 -2
View File
@@ -201,12 +201,14 @@
<ItemGroup>
<None Include="worlds\fire.json" />
<None Include="worlds\ice.json" />
<None Include="worlds\rock.json" />
<None Include="worlds\small.json" />
<None Include="worlds\worlds.json" />
</ItemGroup>
<ItemGroup>
<Media Include="WAVE\bond.wav" />
<Media Include="WAVE\Sound.wav" />
<Media Include="WAVE\enemy.wav" />
<Media Include="WAVE\test1.wav" />
<Media Include="WAVE\test2.wav" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
+8 -2
View File
@@ -166,12 +166,18 @@
<None Include="worlds\small.json">
<Filter>Source Files\json</Filter>
</None>
<None Include="worlds\rock.json">
<Filter>Source Files\json</Filter>
</None>
</ItemGroup>
<ItemGroup>
<Media Include="WAVE\Sound.wav">
<Media Include="WAVE\test1.wav">
<Filter>Resource Files</Filter>
</Media>
<Media Include="WAVE\bond.wav">
<Media Include="WAVE\test2.wav">
<Filter>Resource Files</Filter>
</Media>
<Media Include="WAVE\enemy.wav">
<Filter>Resource Files</Filter>
</Media>
</ItemGroup>
+13 -9
View File
@@ -2,7 +2,6 @@
#include <cmath>
#include "Enemy.h"
#include "Model.h"
#include "CrystalPoint.h"
#include <iostream>
Enemy::Enemy(const std::string &fileName,
@@ -19,7 +18,8 @@ Enemy::Enemy(const std::string &fileName,
speed = 1;
radius = 10;
hasTarget = false;
hit_sound_id = CrystalPoint::GetSoundSystem().LoadSound("WAVE/Sound.wav", false);
hit_sound_id = CrystalPoint::GetSoundSystem().LoadSound("WAVE/enemy.wav", false);
music = CrystalPoint::GetSoundSystem().GetSound(hit_sound_id);
attack = false;
}
@@ -72,9 +72,14 @@ void Enemy::collide(const Entity * entity)
void Enemy::update(float delta)
{
music->SetPos(position, Vec3f());
if (hasTarget)
{
if (music->IsPlaying() == false)
{
music->Play();
}
//just 2d walking
float dx, dz, length;
@@ -98,15 +103,14 @@ void Enemy::update(float delta)
else
{
attack = true;
if (music->IsPlaying() == true)
{
// music->Pause();
music->Stop();
}
}
rotation.y = atan2f(dx, dz) * 180 / M_PI;
}
if (false)
{
Sound* sound = CrystalPoint::GetSoundSystem().GetSound(hit_sound_id);
sound->SetPos(position, Vec3f());
sound->Play();
}
}
+3
View File
@@ -3,6 +3,7 @@
#include "Entity.h"
#include <string>
#include "Vector.h"
#include "CrystalPoint.h"
class Enemy : public Entity
{
@@ -10,6 +11,8 @@ public:
Enemy(const std::string &fileName,const Vec3f &position,Vec3f &rotation,const float &scale);
~Enemy();
Sound* music;
bool hasTarget;
Vec3f target;
float speed,radius;
+9 -1
View File
@@ -17,7 +17,6 @@ Sound::Sound(const char* inWavPath, bool inLooping):
buffer_id(0),
source_id(0),
is_looping(inLooping)
{
const char* path = inWavPath;
@@ -146,3 +145,12 @@ void Sound::Stop()
alSourceStop(source_id);
}
bool Sound::IsPlaying()
{
ALenum state;
alGetSourcei(source_id, AL_SOURCE_STATE, &state);
return (state == AL_PLAYING);
}
+1
View File
@@ -13,6 +13,7 @@ public:
void Play();
void Pause();
void Stop();
bool IsPlaying();
private:
unsigned int buffer_id;
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
+9 -4
View File
@@ -3,7 +3,6 @@
#include "Entity.h"
#include "json.h"
#include "Model.h"
#include "CrystalPoint.h"
#include <fstream>
#include <iostream>
#include <algorithm>
@@ -179,9 +178,7 @@ World::World(const std::string &fileName):
if (!v["world"]["music"].isNull())
{
music_id = CrystalPoint::GetSoundSystem().LoadSound(v["world"]["music"].asString().c_str(), true);
Sound* music = CrystalPoint::GetSoundSystem().GetSound(music_id);
music->SetPos(Vec3f(), Vec3f());
music->Play();
music = CrystalPoint::GetSoundSystem().GetSound(music_id);
}
if (!v["portal"].isNull())
@@ -214,6 +211,8 @@ World::World(const std::string &fileName):
World::~World()
{
delete heightmap;
music->Stop();
delete music;
delete skybox;
}
@@ -257,6 +256,12 @@ void World::draw()
void World::update(float elapsedTime)
{
music->SetPos(player->position, Vec3f());
if (music->IsPlaying() == false)
{
music->Play();
}
for (auto &entity : entities)
entity->update(elapsedTime);
+2
View File
@@ -8,6 +8,7 @@
#include "Interface.h"
#include "Crystal.h"
#include "Skybox.h"
#include "CrystalPoint.h"
#include "Portal.h"
class Entity;
@@ -16,6 +17,7 @@ class World
{
private:
std::vector<std::pair<int, std::pair<std::string, bool>>> objecttemplates;
Sound* music;
Player* player;
HeightMap* heightmap;
+1
View File
@@ -3,6 +3,7 @@
"heightmap": "worlds/rockHeightmap.png",
"texture": "worlds/rockStone2.png",
"skybox": "skyboxes/water/",
"music": "WAVE/test2.wav",
"object-templates": [
{
"color": 50,
+1 -1
View File
@@ -9,7 +9,7 @@
"collision": true
}
],
"music": "WAVE/bond.wav"
"music": "WAVE/test1.wav"
},
"player": {
"startposition": [ 20, 5, 20 ]