@@ -33,6 +33,7 @@ public class TextureReader
33
33
public const int AnimalsTextureArchive = 201 ;
34
34
public const int LightsTextureArchive = 210 ;
35
35
public const int FixedTreasureFlatsArchive = 216 ;
36
+ public const int FireWallsArchive = 356 ;
36
37
//public int[] MiscFlatsTextureArchives = new int[] { 97, 205, 211, 212, 213, 301 };
37
38
38
39
/// <summary>
@@ -269,8 +270,20 @@ public GetTextureResults GetTexture2D(
269
270
{
270
271
if ( settings . createEmissionMap || ( settings . autoEmission && isEmissive ) && ! isWindow )
271
272
{
272
- // Just reuse albedo map for basic colour emission
273
- emissionMap = albedoMap ;
273
+ if ( settings . archive != FireWallsArchive )
274
+ // Just reuse albedo map for basic colour emission
275
+ emissionMap = albedoMap ;
276
+ else
277
+ {
278
+ // Mantellan Crux fire walls - lessen stroboscopic effect
279
+ Color fireColor = new Color ( 0.706f , 0.271f , 0.086f ) ; // Average of dim frame (0)
280
+ // Color fireColor = new Color(0.773f, 0.38f, 0.122f); // Average of average frames (1 and 3)
281
+ // Color fireColor = new Color(0.851f, 0.506f, 0.165f); // Average of bright frame (2)
282
+ Color32 [ ] firewallEmissionColors = textureFile . GetFireWallColors32 ( ref albedoColors , sz . Width , sz . Height , fireColor , 0.3f ) ;
283
+ emissionMap = new Texture2D ( sz . Width , sz . Height , ParseTextureFormat ( alphaTextureFormat ) , MipMaps ) ;
284
+ emissionMap . SetPixels32 ( firewallEmissionColors ) ;
285
+ emissionMap . Apply ( true , ! settings . stayReadable ) ;
286
+ }
274
287
resultEmissive = true ;
275
288
}
276
289
0 commit comments