sounds variability + first step fix
This commit is contained in:
parent
87dd1dd6b2
commit
bfc3182ed3
@ -249,6 +249,12 @@ speakerid_t audio::play(
|
||||
int priority,
|
||||
int channel
|
||||
) {
|
||||
if (!sound->variants.empty()) {
|
||||
size_t index = rand() % (sound->variants.size() + 1);
|
||||
if (index < sound->variants.size()) {
|
||||
sound = sound->variants.at(index).get();
|
||||
}
|
||||
}
|
||||
Speaker* speaker = sound->newInstance(priority, channel);
|
||||
if (speaker == nullptr) {
|
||||
remove_lower_priority_speaker(priority);
|
||||
|
||||
@ -57,3 +57,7 @@ Level* LevelController::getLevel() {
|
||||
Player* LevelController::getPlayer() {
|
||||
return player->getPlayer();
|
||||
}
|
||||
|
||||
PlayerController* LevelController::getPlayerController() {
|
||||
return player.get();
|
||||
}
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
class Level;
|
||||
class Player;
|
||||
|
||||
/* LevelController manages other controllers */
|
||||
/// @brief LevelController manages other controllers
|
||||
class LevelController {
|
||||
EngineSettings& settings;
|
||||
std::unique_ptr<Level> level;
|
||||
@ -22,20 +22,22 @@ class LevelController {
|
||||
public:
|
||||
LevelController(EngineSettings& settings, Level* level);
|
||||
|
||||
/*
|
||||
@param delta time elapsed since the last update
|
||||
@param input is user input allowed to be handled
|
||||
@param pause is world and player simulation paused
|
||||
*/
|
||||
void update(float delta,
|
||||
bool input,
|
||||
bool pause);
|
||||
/// @param delta time elapsed since the last update
|
||||
/// @param input is user input allowed to be handled
|
||||
/// @param pause is world and player simulation paused
|
||||
void update(
|
||||
float delta,
|
||||
bool input,
|
||||
bool pause
|
||||
);
|
||||
|
||||
void onWorldSave();
|
||||
void onWorldQuit();
|
||||
|
||||
Level* getLevel();
|
||||
Player* getPlayer();
|
||||
|
||||
PlayerController* getPlayerController();
|
||||
};
|
||||
|
||||
#endif // LOGIC_LEVEL_CONTROLLER_H_
|
||||
|
||||
@ -226,6 +226,8 @@ void PlayerController::updateFootsteps(float delta) {
|
||||
stepsTimer = fmod(stepsTimer, M_PI);
|
||||
onFootstep();
|
||||
}
|
||||
} else {
|
||||
stepsTimer = M_PI;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user