mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-05-04 16:23:52 +00:00
Add diagnostics for invisible creatures and update shadow signatures
- Log warning when WotLK M2 skin file is missing (causes invisible creatures) - Move skin loading inside version >= 264 check to skip unnecessary readFile - Update renderShadow header signatures to match implementation (shadow culling)
This commit is contained in:
parent
7dc9bf3766
commit
30e9998a86
6 changed files with 27 additions and 15 deletions
|
|
@ -3735,10 +3735,14 @@ void Application::spawnOnlineCreature(uint64_t guid, uint32_t displayId, float x
|
|||
}
|
||||
|
||||
// Load skin file (only for WotLK M2s - vanilla has embedded skin)
|
||||
std::string skinPath = m2Path.substr(0, m2Path.size() - 3) + "00.skin";
|
||||
auto skinData = assetManager->readFile(skinPath);
|
||||
if (!skinData.empty() && model.version >= 264) {
|
||||
pipeline::M2Loader::loadSkin(skinData, model);
|
||||
if (model.version >= 264) {
|
||||
std::string skinPath = m2Path.substr(0, m2Path.size() - 3) + "00.skin";
|
||||
auto skinData = assetManager->readFile(skinPath);
|
||||
if (!skinData.empty()) {
|
||||
pipeline::M2Loader::loadSkin(skinData, model);
|
||||
} else {
|
||||
LOG_WARNING("Missing skin file for WotLK creature M2: ", skinPath);
|
||||
}
|
||||
}
|
||||
|
||||
// Load external .anim files for sequences without flag 0x20
|
||||
|
|
@ -5951,10 +5955,14 @@ void Application::processPendingMount() {
|
|||
}
|
||||
|
||||
// Load skin file (only for WotLK M2s - vanilla has embedded skin)
|
||||
std::string skinPath = m2Path.substr(0, m2Path.size() - 3) + "00.skin";
|
||||
auto skinData = assetManager->readFile(skinPath);
|
||||
if (!skinData.empty() && model.version >= 264) {
|
||||
pipeline::M2Loader::loadSkin(skinData, model);
|
||||
if (model.version >= 264) {
|
||||
std::string skinPath = m2Path.substr(0, m2Path.size() - 3) + "00.skin";
|
||||
auto skinData = assetManager->readFile(skinPath);
|
||||
if (!skinData.empty()) {
|
||||
pipeline::M2Loader::loadSkin(skinData, model);
|
||||
} else {
|
||||
LOG_WARNING("Missing skin file for WotLK mount M2: ", skinPath);
|
||||
}
|
||||
}
|
||||
|
||||
// Load external .anim files (only idle + run needed for mounts)
|
||||
|
|
|
|||
|
|
@ -3907,14 +3907,15 @@ void Renderer::renderShadowPass() {
|
|||
vkCmdSetScissor(currentCmd, 0, 1, &sc);
|
||||
|
||||
// Phase 7/8: render shadow casters
|
||||
constexpr float kShadowCullRadius = 180.0f; // match kShadowHalfExtent
|
||||
if (wmoRenderer) {
|
||||
wmoRenderer->renderShadow(currentCmd, lightSpaceMatrix);
|
||||
wmoRenderer->renderShadow(currentCmd, lightSpaceMatrix, shadowCenter, kShadowCullRadius);
|
||||
}
|
||||
if (m2Renderer) {
|
||||
m2Renderer->renderShadow(currentCmd, lightSpaceMatrix, globalTime);
|
||||
m2Renderer->renderShadow(currentCmd, lightSpaceMatrix, globalTime, shadowCenter, kShadowCullRadius);
|
||||
}
|
||||
if (characterRenderer) {
|
||||
characterRenderer->renderShadow(currentCmd, lightSpaceMatrix);
|
||||
characterRenderer->renderShadow(currentCmd, lightSpaceMatrix, shadowCenter, kShadowCullRadius);
|
||||
}
|
||||
|
||||
vkCmdEndRenderPass(currentCmd);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue