Changeset - 66a2d6c441ac
[Not reviewed]
default
0 2 0
Jason Maltzen (jmaltzen) - 7 years ago 2018-05-21 20:05:00
jason.maltzen@unsanctioned.net
Add a debug log to paint recipe generation
2 files changed with 35 insertions and 24 deletions:
0 comments (0 inline, 0 general)
RecipeGenerator.cs
Show inline comments
...
 
@@ -584,4 +584,5 @@ namespace DesertPaintLab
 
                            recipes[colorName].CopyFrom(recipe);
 
                            recipeCosts[colorName] = recipe.Cost;
 
                            log?.WriteLine("New recipe (cost {0}): {1}", recipe.Cost, recipe);
 
                            if (NewRecipe != null)
 
                            {
...
 
@@ -590,8 +591,8 @@ namespace DesertPaintLab
 
                            }
 
                        }
 
                        else
 
                        {
 
                            Console.WriteLine("Ignoring recipe - existing cost is cheaper.");
 
                        }
 
                        //else
 
                        //{
 
                        //    Console.WriteLine("Ignoring recipe - existing cost is cheaper.");
 
                        //}
 
                    }
 
                    else
...
 
@@ -610,12 +611,12 @@ namespace DesertPaintLab
 
            else
 
            {
 
                string msg = String.Format("Recipe is invalid ({0} ingredients)\n", recipe.Ingredients.Count);
 
                foreach (PaintRecipe.RecipeIngredient ingr in recipe.Ingredients)
 
                {
 
                    msg += String.Format("    -> {0} {1}", ingr.quantity, ingr.name);
 
                }
 
                lock (workerLock) {
 
                    Console.WriteLine(msg);
 
                }
 
                //string msg = String.Format("Recipe is invalid ({0} ingredients)\n", recipe.Ingredients.Count);
 
                //foreach (PaintRecipe.RecipeIngredient ingr in recipe.Ingredients)
 
                //{
 
                //    msg += String.Format("    -> {0} {1}", ingr.quantity, ingr.name);
 
                //}
 
                //lock (workerLock) {
 
                //    Console.WriteLine(msg);
 
                //}
 
            }
 
        }
...
 
@@ -718,5 +719,5 @@ namespace DesertPaintLab
 
                    if (node.CurrentTargetQuantity <= node.UsedQuantity)
 
                    {
 
                        if (log != null) { lock(log) { log.WriteLine("Update quantity to {0}", node.CurrentTargetQuantity); } }
 
                        //if (log != null) { lock(log) { log.WriteLine("Update quantity to {0}", node.CurrentTargetQuantity); } }
 
                        return true;
 
                    }
...
 
@@ -767,5 +768,5 @@ namespace DesertPaintLab
 
                                        // just popped the last reagent at the top level
 
                                        ++currentDepth;
 
                                        if (log != null) { lock(log) { log.WriteLine("Increased depth to {0}/{1}", currentDepth, node.MaxReagents); } }
 
                                        //if (log != null) { lock(log) { log.WriteLine("Increased depth to {0}/{1}", currentDepth, node.MaxReagents); } }
 
                                    }
 
                                }
...
 
@@ -779,5 +780,5 @@ namespace DesertPaintLab
 
                                    // just popped the last reagent at the top level
 
                                    ++currentDepth;
 
                                    if (log != null) { lock(log) { log.WriteLine("Increased depth to {0}/{1} [pop last reagent at top level]", currentDepth, node.MaxReagents); } }
 
                                    //if (log != null) { lock(log) { log.WriteLine("Increased depth to {0}/{1} [pop last reagent at top level]", currentDepth, node.MaxReagents); } }
 
                                }
 
                            }
...
 
@@ -791,5 +792,5 @@ namespace DesertPaintLab
 
                                if (! node.AddNextReagent())
 
                                {
 
                                    if (log != null) { lock(log) { log.WriteLine("Failed to reagent {0}/{1}", node.ReagentCount+1, currentDepth); } }
 
                                    //if (log != null) { lock(log) { log.WriteLine("Failed to add reagent {0}/{1}", node.ReagentCount+1, currentDepth); } }
 
                                    recipeFound = false;
 
                                }
...
 
@@ -806,5 +807,5 @@ namespace DesertPaintLab
 
                {
 
                    ++currentDepth;
 
                    if (log != null) { lock(log) { log.WriteLine("Increased depth to {0}/{1} [no recipe]", currentDepth, node.MaxReagents); } }
 
                    //if (log != null) { lock(log) { log.WriteLine("Increased depth to {0}/{1} [no recipe]", currentDepth, node.MaxReagents); } }
 
                }
 
            } while (currentDepth <= maxReagents);
...
 
@@ -823,10 +824,10 @@ namespace DesertPaintLab
 
                }
 
                if (log != null) { 
 
                    string combo = "";
 
                    foreach (PaintRecipe.RecipeIngredient ingr in node.TestRecipe.Ingredients)
 
                    {
 
                        combo += " " + ingr.name;
 
                    }
 
                    lock(log) { log.WriteLine("New ingredients: " + combo); }
 
                    //string combo = "";
 
                    //foreach (PaintRecipe.RecipeIngredient ingr in node.TestRecipe.Ingredients)
 
                    //{
 
                    //    combo += " " + ingr.name;
 
                    //}
 
                    //lock(log) { log.WriteLine("New ingredients: " + combo); }
 
                }
 
            }
...
 
@@ -858,5 +859,5 @@ namespace DesertPaintLab
 
            {
 
                // not possible to make a valid recipe
 
                Console.WriteLine("Insufficient remaining weight");
 
                //Console.WriteLine("Insufficient remaining weight");
 
                return false;
 
            }
UI/RecipeGeneratorView.cs
Show inline comments
...
 
@@ -242,4 +242,14 @@ namespace DesertPaintLab
 
                generator.Finished += OnFinished;
 
                generator.NewRecipe += OnNewRecipe;
 

	
 
                bool enableDebugMenu = false;
 
                DesertPaintLab.AppSettings.Get("EnableDebugMenu", out enableDebugMenu);
 
                bool logGenerator = false;
 
                DesertPaintLab.AppSettings.Get("GeneratorLog", out logGenerator);
 
                if (enableDebugMenu && logGenerator)
 
                {
 
                    string logDir = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
 
                    generator.Log = System.IO.Path.Combine(logDir, "dpl_generator.txt");
 
                }
 
            }
 
            generator.InitRecipes(profile.Recipes);
0 comments (0 inline, 0 general)