mirror of
https://github.com/XProger/OpenLara.git
synced 2025-08-16 10:04:28 +02:00
#23 fix AV in texture packing; fix sound fade for inventory screen
This commit is contained in:
23
src/level.h
23
src/level.h
@@ -483,7 +483,7 @@ struct Level : IGame {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// repack texture tiles
|
// repack texture tiles
|
||||||
Atlas *tiles = new Atlas(level.objectTexturesCount + level.spriteTexturesCount, &level, fillCallback);
|
Atlas *tiles = new Atlas(level.objectTexturesCount + level.spriteTexturesCount + 3, &level, fillCallback);
|
||||||
// add textures
|
// add textures
|
||||||
int startIdx = level.version == TR::Level::VER_TR1_PSX ? 256 : 0; // skip palette color for PSX version
|
int startIdx = level.version == TR::Level::VER_TR1_PSX ? 256 : 0; // skip palette color for PSX version
|
||||||
for (int i = startIdx; i < level.objectTexturesCount; i++) {
|
for (int i = startIdx; i < level.objectTexturesCount; i++) {
|
||||||
@@ -754,13 +754,14 @@ struct Level : IGame {
|
|||||||
lara->reset(TR::NO_ROOM, camera->pos, camera->angle.y, false);
|
lara->reset(TR::NO_ROOM, camera->pos, camera->angle.y, false);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
Sound::Sample *sndChanged = sndCurrent;
|
||||||
|
|
||||||
if (isTitle()) {
|
if (isTitle()) {
|
||||||
sndCurrent->setVolume(0.0f, 0.5f);
|
|
||||||
Sound::reverb.setRoomSize(vec3(1.0f));
|
Sound::reverb.setRoomSize(vec3(1.0f));
|
||||||
inventory.update();
|
inventory.update();
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
sndChanged = NULL;
|
||||||
|
} else {
|
||||||
params->time += Core::deltaTime;
|
params->time += Core::deltaTime;
|
||||||
|
|
||||||
Controller *c = Controller::first;
|
Controller *c = Controller::first;
|
||||||
@@ -771,17 +772,19 @@ struct Level : IGame {
|
|||||||
}
|
}
|
||||||
camera->update();
|
camera->update();
|
||||||
|
|
||||||
Sound::Sample *sndChanged = camera->isUnderwater() ? sndUnderwater : sndSoundtrack;
|
if (waterCache)
|
||||||
|
waterCache->update();
|
||||||
|
|
||||||
|
Controller::clearInactive();
|
||||||
|
|
||||||
|
sndChanged = camera->isUnderwater() ? sndUnderwater : sndSoundtrack;
|
||||||
|
}
|
||||||
|
|
||||||
if (sndChanged != sndCurrent) {
|
if (sndChanged != sndCurrent) {
|
||||||
if (sndCurrent) sndCurrent->setVolume(0.0f, 0.2f);
|
if (sndCurrent) sndCurrent->setVolume(0.0f, 0.2f);
|
||||||
if (sndChanged) sndChanged->setVolume(1.0f, 0.2f);
|
if (sndChanged) sndChanged->setVolume(1.0f, 0.2f);
|
||||||
sndCurrent = sndChanged;
|
sndCurrent = sndChanged;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (waterCache)
|
|
||||||
waterCache->update();
|
|
||||||
|
|
||||||
Controller::clearInactive();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void setup() {
|
void setup() {
|
||||||
|
Reference in New Issue
Block a user