diff --git a/Common/Languages/English/Keyed/All.xml b/Common/Languages/English/Keyed/All.xml
index 7ecfe47..e1361fd 100644
--- a/Common/Languages/English/Keyed/All.xml
+++ b/Common/Languages/English/Keyed/All.xml
@@ -60,7 +60,7 @@
Quality adjustment
Manual
Automatic
- Target render size for this map
+ Target render size for this world
JPG quality will automatically be adjusted after each render to be near this target, preferencing quality slightly.
JPG Quality
Higher values correspond to higher image quality, lower values correspond to smaller image size
diff --git a/Source/GameComponents/GameComponentProgressManager.cs b/Source/GameComponents/GameComponentProgressManager.cs
index fdc7aa8..a03ab85 100644
--- a/Source/GameComponents/GameComponentProgressManager.cs
+++ b/Source/GameComponents/GameComponentProgressManager.cs
@@ -18,7 +18,7 @@ namespace ProgressRenderer
// variables related to automatic quality adjustment
public static JPGQualityAdjustmentSetting defaultJPGQualityAdjustment = JPGQualityAdjustmentSetting.Manual;
- public static int defaultRenderSize = 25;
+ public static int defaultRenderSize = 20;
public static int defaultJPGQuality_WORLD = 93;
public static int defaultpixelsPerCell_WORLD = 32;
diff --git a/Source/MapComponents/MapComponent_RenderManager.cs b/Source/MapComponents/MapComponent_RenderManager.cs
index 1f055bc..4190436 100644
--- a/Source/MapComponents/MapComponent_RenderManager.cs
+++ b/Source/MapComponents/MapComponent_RenderManager.cs
@@ -580,6 +580,11 @@ private void AdjustJPGQuality(string filePath)
if (GameComponentProgressManager.JPGQualitySteady)
{
+ if (PRModSettings.JPGQualityInitialize)
+ {
+ renderMessage += "Target size reached, initialization ended, ";
+ PRModSettings.JPGQualityInitialize = false;
+ }
Messages.Message(renderMessage, MessageTypeDefOf.CautionInput, false);
return;
}
@@ -597,7 +602,7 @@ private void AdjustJPGQuality(string filePath)
private string CalculateQuality(float renderSize, string renderMessage)
{
- // render is too large, let's take a closer look
+ // if render is too large, let's take a closer look
if (renderSize > GameComponentProgressManager.renderSize)
{
if (GameComponentProgressManager.JPGQuality_WORLD > 0)
@@ -608,18 +613,18 @@ private string CalculateQuality(float renderSize, string renderMessage)
GameComponentProgressManager.JPGQuality_WORLD -= 1;
renderMessage += "JPG quality decreased to " +
GameComponentProgressManager.JPGQuality_WORLD +
- "% · render size: " + renderSize + " Target: " +
+ "% · render size: " + renderSize.ToString("0.00") + " Target: " +
GameComponentProgressManager.renderSize;
}
// if quality was going up and then down again, we have found the target quality
else if (!GameComponentProgressManager.JPGQualitySteady)
{
GameComponentProgressManager.JPGQualitySteady = true;
- GameComponentProgressManager.JPGQualityTopMargin = Convert.ToInt32(renderSize);
+ GameComponentProgressManager.JPGQualityTopMargin = Convert.ToInt32(Math.Ceiling(renderSize));
PRModSettings.JPGQualityInitialize = false; // if initializing, end it now
renderMessage += "JPG quality target reached (" +
GameComponentProgressManager.JPGQuality_WORLD +
- "%) · render size: " + renderSize + " Target: " +
+ "%) · render size: " + renderSize.ToString("0.00") + " Target: " +
GameComponentProgressManager.renderSize;
}
@@ -636,7 +641,7 @@ private string CalculateQuality(float renderSize, string renderMessage)
if (GameComponentProgressManager.JPGQuality_WORLD < 100)
{
GameComponentProgressManager.JPGQuality_WORLD += 1;
- GameComponentProgressManager.JPGQualityBottomMargin = Convert.ToInt32(renderSize);
+ GameComponentProgressManager.JPGQualityBottomMargin = Convert.ToInt32(Math.Floor(renderSize));
renderMessage += "JPG quality increased to " +
GameComponentProgressManager.JPGQuality_WORLD +
"% · render size: " + renderSize + " Target: " +
diff --git a/Source/Mod/PRModSettings.cs b/Source/Mod/PRModSettings.cs
index 20b4308..401fc3e 100644
--- a/Source/Mod/PRModSettings.cs
+++ b/Source/Mod/PRModSettings.cs
@@ -252,6 +252,7 @@ public override void ExposeData()
Scribe_Values.Look(ref smoothRenderAreaSteps, "smoothRenderAreaSteps", DefaultSmoothRenderAreaSteps);
Scribe_Values.Look(ref whichInterval, "whichInterval", RenderIntervalHelper.Intervals.IndexOf(DefaultInterval));
Scribe_Values.Look(ref timeOfDay, "timeOfDay", DefaultTimeOfDay);
+ Scribe_Values.Look(ref encoding, "encodingFormat", DefaultEncoding);
Scribe_Values.Look(ref JPGQuality, "JPGQuality", DefaultJPGQuality);
Scribe_Values.Look(ref pixelsPerCell, "pixelsPerCell", DefaultpixelsPerCell);
Scribe_Values.Look(ref scaleOutputImage, "scaleOutputImage", DefaultScaleOutputImage);