demo finish

This commit is contained in:
h4570
2022-08-20 00:34:43 +02:00
parent 405d5afd35
commit 57767eee72
6 changed files with 26 additions and 7 deletions
+2 -1
View File
@@ -21,7 +21,8 @@ namespace Demo {
struct EnemyInfo {
u8 adpcmChannel;
audsrv_adpcm_t* adpcmSample;
audsrv_adpcm_t* adpcmPunch;
audsrv_adpcm_t* adpcmDeath;
DynamicMesh* motherMesh;
Texture* bodyTexture;
Texture* clothTexture;
+6 -2
View File
@@ -26,10 +26,14 @@ class Hud {
~Hud();
TextureRepository* repo;
Texture* hpTexture;
unique_ptr<Sprite> hpSprite;
Texture* crosshairTexture;
unique_ptr<Sprite> crosshairSprite;
unique_ptr<Sprite> soldierSprite;
Texture* hpTexture;
Texture* crosshairTexture;
Texture* soldierTexture;
};
} // namespace Demo
+2 -1
View File
@@ -110,6 +110,7 @@ void Enemy::handlePlayerShoot(const PlayerShootAction& shootAction) {
if (isOnEnemy) {
setMeshToSpawn();
audio->adpcm.tryPlay(info.adpcmDeath, info.adpcmChannel);
}
}
@@ -144,7 +145,7 @@ void Enemy::fight() {
void Enemy::animationCallback(const AnimationSequenceCallback& callback) {
if (callback == AnimationSequenceCallback::AnimationSequenceCallback_Loop) {
if (isFighting) {
audio->adpcm.tryPlay(info.adpcmSample, info.adpcmChannel);
audio->adpcm.tryPlay(info.adpcmPunch, info.adpcmChannel);
}
}
}
+6 -2
View File
@@ -40,14 +40,18 @@ EnemyManager::EnemyManager(Engine* engine, const Heightmap& heightmap) {
clothTexture = textureRepo->add(
FileUtils::fromCwd("game/models/zombie/ClothMaterial.png"));
auto* sample = engine->audio.adpcm.load(
auto* punch = engine->audio.adpcm.load(
FileUtils::fromCwd("game/models/zombie/punch.adpcm"));
auto* death = engine->audio.adpcm.load(
FileUtils::fromCwd("game/models/zombie/death.adpcm"));
const int enemyCount = 10;
for (int i = 0; i < enemyCount; i++) {
EnemyInfo info;
info.adpcmChannel = 9 + i;
info.adpcmSample = sample;
info.adpcmPunch = punch;
info.adpcmDeath = death;
info.motherMesh = motherMesh;
info.clothTexture = clothTexture;
info.bodyTexture = bodyTexture;
+1
View File
@@ -84,6 +84,7 @@ void GameState::update() {
firstEnemyMesh->getModelMatrix()));
renderer.add(hud->crosshairSprite.get());
renderer.add(hud->hpSprite.get());
renderer.add(hud->soldierSprite.get());
}
renderer.render();
}
+9 -1
View File
@@ -17,10 +17,18 @@ namespace Demo {
Hud::Hud(TextureRepository* t_repo) {
repo = t_repo;
soldierSprite = std::make_unique<Sprite>();
soldierSprite->mode = Tyra::MODE_STRETCH;
soldierSprite->size.set(64.0F, 64.0F);
soldierSprite->position.set(5.0F, 448.0F - 64.0F - 5.0F);
soldierTexture = repo->add(FileUtils::fromCwd("game/soldier.png"));
soldierTexture->addLink(soldierSprite->id);
hpSprite = std::make_unique<Sprite>();
hpSprite->mode = Tyra::MODE_STRETCH;
hpSprite->size.set(128.0F, 64.0F);
hpSprite->position.set(0, 448.0F - 64.0F - 5.0F);
hpSprite->position.set(70.0F, 448.0F - 64.0F - 5.0F);
hpTexture = repo->add(FileUtils::fromCwd("game/health_bar.png"));
hpTexture->addLink(hpSprite->id);