1
0
mirror of https://github.com/XLabsProject/iw3x-port.git synced 2023-08-02 15:02:11 +02:00
This commit is contained in:
louve 2022-12-20 10:19:47 +01:00
parent 5a644912ec
commit 9a4962d7e3
3 changed files with 18 additions and 9 deletions

View File

@ -993,10 +993,26 @@ namespace Components
map.dpvs.smodelDrawInsts[i].flags |= Game::IW4::STATIC_MODEL_FLAG_GROUND_LIGHTING;
}
}
auto xmodel = map.dpvs.smodelDrawInsts[i].model;
if (xmodel)
{
for (size_t surfaceIndex = 0; surfaceIndex < xmodel->numsurfs; surfaceIndex++)
{
auto material = xmodel->materialHandles[surfaceIndex];
// Do not delay model surface ever! In iw4 this doesn't even exist
// If this flag is ever set to 0 it usually burns the delayed surface buffer of IW4
//material->info.gameFlags.fields.unkNeededForSModelDisplay = 1;
//material->info.gameFlags.fields.doNotDelaySurface = 1; // Still blocky shadows even when i have just this one enabled
//material->info.gameFlags.fields.isFoliageRequiresGroundLighting = (map.dpvs.smodelDrawInsts[i].flags & Game::IW4::STATIC_MODEL_FLAG_GROUND_LIGHTING) != 0;
}
}
}
}
#if USE_IW3_SORTKEYS
#if USE_IW3_SORTKEYS
// IW3 values
map.sortKeyLitDecal = 9;
map.sortKeyEffectDecal = 29;

View File

@ -365,13 +365,6 @@ namespace Components
mat.gameFlags.packed = material->info.gameFlags.packed;
// ???
mat.gameFlags.fields.unkNeededForSModelDisplay = 1;
// Do not delay model surface ever! In iw4 this doesn't even exist
// If this flag is ever set to 1 it usually burns the delayed surface buffer of IW4
mat.gameFlags.fields.delayModelSurface = 0;
// Sort key
#if USE_IW3_SORTKEYS
mat.sortKey = material->info.sortKey; // Using iw3 value directly

View File

@ -137,7 +137,7 @@ namespace Game
unsigned char unk4 : 1;
unsigned char unk5 : 1;
unsigned char unk6 : 1;
unsigned char delayModelSurface : 1;
unsigned char doNotDelaySurface : 1;
unsigned char unkNeededForSModelDisplay : 1;
};