mirror of
https://github.com/ZDoom/ZDRay.git
synced 2024-11-29 07:02:18 +00:00
- output dlight lumps
This commit is contained in:
parent
dcf8fbae0a
commit
54e3e461c5
4 changed files with 24 additions and 12 deletions
|
@ -603,8 +603,8 @@ void FProcessor::BuildLightmaps(const char *configFile)
|
||||||
|
|
||||||
LMBuilder.CreateLightmaps(Level);
|
LMBuilder.CreateLightmaps(Level);
|
||||||
|
|
||||||
LMBuilder.WriteTexturesToTGA();
|
//LMBuilder.WriteTexturesToTGA();
|
||||||
LMBuilder.WriteMeshToOBJ();
|
//LMBuilder.WriteMeshToOBJ();
|
||||||
|
|
||||||
LightmapsBuilt = true;
|
LightmapsBuilt = true;
|
||||||
}
|
}
|
||||||
|
@ -803,6 +803,11 @@ void FProcessor::Write (FWadWriter &out)
|
||||||
out.CopyLump (Wad, Wad.FindMapLump ("BEHAVIOR", Lump));
|
out.CopyLump (Wad, Wad.FindMapLump ("BEHAVIOR", Lump));
|
||||||
out.CopyLump (Wad, Wad.FindMapLump ("SCRIPTS", Lump));
|
out.CopyLump (Wad, Wad.FindMapLump ("SCRIPTS", Lump));
|
||||||
}
|
}
|
||||||
|
if (LightmapsBuilt)
|
||||||
|
{
|
||||||
|
LMBuilder.AddLightGridLump(out);
|
||||||
|
LMBuilder.AddLightmapLumps(out);
|
||||||
|
}
|
||||||
if (Level.GLNodes != NULL && !compressGL)
|
if (Level.GLNodes != NULL && !compressGL)
|
||||||
{
|
{
|
||||||
char glname[9];
|
char glname[9];
|
||||||
|
|
|
@ -602,5 +602,12 @@ void FProcessor::WriteUDMF(FWadWriter &out)
|
||||||
out.CopyLump(Wad, i);
|
out.CopyLump(Wad, i);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (LightmapsBuilt)
|
||||||
|
{
|
||||||
|
LMBuilder.AddLightGridLump(out);
|
||||||
|
LMBuilder.AddLightmapLumps(out);
|
||||||
|
}
|
||||||
|
|
||||||
out.CreateLabel("ENDMAP");
|
out.CreateLabel("ENDMAP");
|
||||||
}
|
}
|
||||||
|
|
|
@ -937,7 +937,7 @@ void kexLightmapBuilder::CreateLightGrid()
|
||||||
// kexLightmapBuilder::AddLightGridLump
|
// kexLightmapBuilder::AddLightGridLump
|
||||||
//
|
//
|
||||||
|
|
||||||
void kexLightmapBuilder::AddLightGridLump(kexWadFile &wadFile)
|
void kexLightmapBuilder::AddLightGridLump(FWadWriter &wadFile)
|
||||||
{
|
{
|
||||||
kexBinFile lumpFile;
|
kexBinFile lumpFile;
|
||||||
int lumpSize = 0;
|
int lumpSize = 0;
|
||||||
|
@ -1040,14 +1040,14 @@ void kexLightmapBuilder::AddLightGridLump(kexWadFile &wadFile)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
wadFile.AddLump("LM_CELLS", lumpFile.BufferAt() - lumpFile.Buffer(), data);
|
wadFile.WriteLump("LM_CELLS", data, lumpFile.BufferAt() - lumpFile.Buffer());
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// kexLightmapBuilder::CreateLightmapLump
|
// kexLightmapBuilder::CreateLightmapLump
|
||||||
//
|
//
|
||||||
|
|
||||||
void kexLightmapBuilder::AddLightmapLumps(kexWadFile &wadFile)
|
void kexLightmapBuilder::AddLightmapLumps(FWadWriter &wadFile)
|
||||||
{
|
{
|
||||||
int lumpSize = 0;
|
int lumpSize = 0;
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
|
@ -1073,7 +1073,7 @@ void kexLightmapBuilder::AddLightmapLumps(kexWadFile &wadFile)
|
||||||
lumpFile.SetBuffer(data);
|
lumpFile.SetBuffer(data);
|
||||||
|
|
||||||
lumpFile.WriteVector(map->GetSunDirection());
|
lumpFile.WriteVector(map->GetSunDirection());
|
||||||
wadFile.AddLump("LM_SUN", sizeof(kexVec3), data);
|
wadFile.WriteLump("LM_SUN", data, sizeof(kexVec3));
|
||||||
|
|
||||||
offs = lumpFile.BufferAt() - lumpFile.Buffer();
|
offs = lumpFile.BufferAt() - lumpFile.Buffer();
|
||||||
surfs = data + offs;
|
surfs = data + offs;
|
||||||
|
@ -1095,7 +1095,7 @@ void kexLightmapBuilder::AddLightmapLumps(kexWadFile &wadFile)
|
||||||
}
|
}
|
||||||
|
|
||||||
offs = lumpFile.BufferAt() - lumpFile.Buffer();
|
offs = lumpFile.BufferAt() - lumpFile.Buffer();
|
||||||
wadFile.AddLump("LM_SURFS", size, data);
|
wadFile.WriteLump("LM_SURFS", data, size);
|
||||||
txcrd = data + offs;
|
txcrd = data + offs;
|
||||||
|
|
||||||
size = 0;
|
size = 0;
|
||||||
|
@ -1111,7 +1111,7 @@ void kexLightmapBuilder::AddLightmapLumps(kexWadFile &wadFile)
|
||||||
}
|
}
|
||||||
|
|
||||||
offs = (lumpFile.BufferAt() - lumpFile.Buffer()) - offs;
|
offs = (lumpFile.BufferAt() - lumpFile.Buffer()) - offs;
|
||||||
wadFile.AddLump("LM_TXCRD", size, txcrd);
|
wadFile.WriteLump("LM_TXCRD", txcrd, size);
|
||||||
lmaps = txcrd + offs;
|
lmaps = txcrd + offs;
|
||||||
|
|
||||||
// begin writing LM_LMAPS lump
|
// begin writing LM_LMAPS lump
|
||||||
|
@ -1131,7 +1131,7 @@ void kexLightmapBuilder::AddLightmapLumps(kexWadFile &wadFile)
|
||||||
}
|
}
|
||||||
|
|
||||||
offs = (lumpFile.BufferAt() - lumpFile.Buffer()) - offs;
|
offs = (lumpFile.BufferAt() - lumpFile.Buffer()) - offs;
|
||||||
wadFile.AddLump("LM_LMAPS", size, lmaps);
|
wadFile.WriteLump("LM_LMAPS", lmaps, size);
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|
|
@ -32,7 +32,7 @@
|
||||||
#define LIGHTMAP_MAX_SIZE 1024
|
#define LIGHTMAP_MAX_SIZE 1024
|
||||||
|
|
||||||
class kexTrace;
|
class kexTrace;
|
||||||
class kexWadFile;
|
class FWadWriter;
|
||||||
|
|
||||||
class kexLightmapBuilder
|
class kexLightmapBuilder
|
||||||
{
|
{
|
||||||
|
@ -48,8 +48,8 @@ public:
|
||||||
void LightGrid(const int gridid);
|
void LightGrid(const int gridid);
|
||||||
void WriteTexturesToTGA();
|
void WriteTexturesToTGA();
|
||||||
void WriteMeshToOBJ();
|
void WriteMeshToOBJ();
|
||||||
void AddLightGridLump(kexWadFile &wadFile);
|
void AddLightGridLump(FWadWriter &wadFile);
|
||||||
void AddLightmapLumps(kexWadFile &wadFile);
|
void AddLightmapLumps(FWadWriter &wadFile);
|
||||||
|
|
||||||
int samples;
|
int samples;
|
||||||
float ambience;
|
float ambience;
|
||||||
|
|
Loading…
Reference in a new issue