Add debug logs
This commit is contained in:
		| @@ -1,7 +1,6 @@ | ||||
| using System; | ||||
| using System.Collections.Generic; | ||||
| using System.Linq; | ||||
| using System.Reflection; | ||||
| using System.Reflection.Emit; | ||||
| using HarmonyLib; | ||||
| using Mafi; | ||||
| @@ -24,7 +23,6 @@ using Mafi.Core.Products; | ||||
| using Mafi.Core.Prototypes; | ||||
| using Mafi.Core.Terrain; | ||||
| using Mafi.Core.Vehicles.Excavators; | ||||
| using Mafi.Core.Vehicles.Jobs; | ||||
| using Mafi.Core.World.Entities; | ||||
|  | ||||
| namespace CykaOfIndustry { | ||||
| @@ -33,36 +31,46 @@ namespace CykaOfIndustry { | ||||
| 		[HarmonyPrefix] | ||||
| 		[HarmonyPatch(typeof(ExcavatorProtoBuilder.ExcavatorProtoBuilderState), "SetCapacity")] | ||||
| 		static void excavatorCapacityMultiplier(ref int quantity) { | ||||
| //            Console.WriteLine("IndustrialCyka: Old excavator capacity: {0}", quantity); | ||||
| 			if (Main.debugMode.Value) | ||||
| 				Console.WriteLine("IndustrialCyka: Old excavator capacity {0}", quantity); | ||||
| 			quantity *= Main.excavatorCapacityMultiplier.Value; | ||||
| //            Console.WriteLine("IndustrialCyka: Old excavator capacity: {0}", quantity); | ||||
| 			if (Main.debugMode.Value) | ||||
| 				Console.WriteLine("IndustrialCyka: New excavator capacity {0}", quantity); | ||||
| 		} | ||||
|  | ||||
| 		[HarmonyPrefix] | ||||
| 		[HarmonyPatch(typeof(ExcavatorProtoBuilder.ExcavatorProtoBuilderState), "SetMinedThicknessByDistanceMeters")] | ||||
| 		static void excavatorMiningAreaMultiplier(ref float[] thicknessMeters) { | ||||
| 			for (int i = 0; i < thicknessMeters.Length; i++) { | ||||
| //                Console.WriteLine("IndustrialCyka: Old mining area: {0}", thicknessMeters[i]); | ||||
| 				if (Main.debugMode.Value) | ||||
| 					Console.WriteLine("IndustrialCyka: Old mining area {0}", thicknessMeters[i]); | ||||
| 				thicknessMeters[i] *= Main.excavatorMiningAreaMultiplier.Value; | ||||
| //                Console.WriteLine("IndustrialCyka: New mining area: {0}", thicknessMeters[i]); | ||||
| 				if (Main.debugMode.Value) | ||||
| 					Console.WriteLine("IndustrialCyka: New mining area {0}", thicknessMeters[i]); | ||||
| 			} | ||||
| 		} | ||||
|  | ||||
| 		[HarmonyPrefix] | ||||
| 		[HarmonyPatch(typeof(ExcavatorProtoBuilder.ExcavatorProtoBuilderState), "SetMaxMiningDistance")] | ||||
| 		static void excavatorReachMultiplier(ref RelTile1i minMiningDistance, ref RelTile1i maxMiningDistance) { | ||||
| 			Console.WriteLine("Min distance: {0}, max distance: {1}", minMiningDistance, maxMiningDistance); | ||||
| 			if (Main.debugMode.Value) | ||||
| 				Console.WriteLine("IndustrialCyka: Old min mining distance {0}, max mining distance {1}", | ||||
| 					minMiningDistance, maxMiningDistance); | ||||
| 			minMiningDistance = new RelTile1i((int)(minMiningDistance.Value * Main.excavatorMinReachMultiplier.Value)); | ||||
| 			maxMiningDistance = new RelTile1i((int)(maxMiningDistance.Value * Main.excavatorMaxReachMultiplier.Value)); | ||||
| 			Console.WriteLine("Min distance: {0}, max distance: {1}", minMiningDistance, maxMiningDistance); | ||||
| 			if (Main.debugMode.Value) | ||||
| 				Console.WriteLine("IndustrialCyka: New min mining distance {0}, max mining distance {1}", | ||||
| 					minMiningDistance, maxMiningDistance); | ||||
| 		} | ||||
|  | ||||
| 		[HarmonyPrefix] | ||||
| 		[HarmonyPatch(typeof(TruckProtoBuilder.TruckProtoBuilderState), "SetCapacity")] | ||||
| 		static void truckCapacityMultiplier(ref int quantity) { | ||||
| //            Console.WriteLine("IndustrialCyka: Old truck capacity: {0}", quantity); | ||||
| 			if (Main.debugMode.Value) | ||||
| 				Console.WriteLine("IndustrialCyka: Old truck capacity {0}", quantity); | ||||
| 			quantity *= Main.truckCapacityMultiplier.Value; | ||||
| //            Console.WriteLine("IndustrialCyka: New truck capacity: {0}", quantity); | ||||
| 			if (Main.debugMode.Value) | ||||
| 				Console.WriteLine("IndustrialCyka: New truck capacity {0}", quantity); | ||||
| 		} | ||||
|  | ||||
| 		// [HarmonyPrefix] | ||||
| @@ -80,9 +88,11 @@ namespace CykaOfIndustry { | ||||
| 				typeof(CargoShipModuleProto.Gfx) | ||||
| 			})] | ||||
| 		static void cargoShipCapacityMultiplier(CargoShipModuleProto __instance) { | ||||
| //            Console.WriteLine("IndustrialCyka: Old ship capacity: {0}", __instance.Capacity.Value); | ||||
| 			if (Main.debugMode.Value) | ||||
| 				Console.WriteLine("IndustrialCyka: Old ship capacity {0}", __instance.Capacity); | ||||
| 			__instance.Capacity = new Quantity(__instance.Capacity.Value * Main.cargoShipCapacityMultiplier.Value); | ||||
| //            Console.WriteLine("IndustrialCyka: New ship capacity: {0}", __instance.Capacity.Value); | ||||
| 			if (Main.debugMode.Value) | ||||
| 				Console.WriteLine("IndustrialCyka: New ship capacity {0}", __instance.Capacity); | ||||
| 		} | ||||
|  | ||||
| 		// No workey... idk how it's supposed to work, speed is always 1 or 100% | ||||
| @@ -133,8 +143,10 @@ namespace CykaOfIndustry { | ||||
| 				typeof(IEnumerable<Tag>) | ||||
| 			})] | ||||
| 		static void storageCapacityMultiplier(StorageProto __instance) { | ||||
| //            Console.WriteLine("IndustrialCyka: Old storage capacity: {0}", __instance.Capacity.Value); | ||||
| //            Console.WriteLine("IndustrialCyka: Old storage transfer limit: {0}", __instance.TransferLimit.Value); | ||||
| 			if (Main.debugMode.Value) | ||||
| 				Console.WriteLine("IndustrialCyka: Old storage capacity {0}", __instance.Capacity); | ||||
| 			if (Main.debugMode.Value) | ||||
| 				Console.WriteLine("IndustrialCyka: Old storage transfer limit {0}", __instance.TransferLimit); | ||||
| 			Traverse traverse = Traverse.Create(__instance); | ||||
|  | ||||
| 			traverse.Field("Capacity") | ||||
| @@ -142,17 +154,21 @@ namespace CykaOfIndustry { | ||||
| 			traverse.Field("TransferLimit").SetValue(new Quantity(10000)); | ||||
| 			traverse.Field("TransferLimitDuration").SetValue(Duration.FromTicks(1)); | ||||
|  | ||||
| //            Console.WriteLine("IndustrialCyka: New storage capacity: {0}", __instance.Capacity.Value); | ||||
| //            Console.WriteLine("IndustrialCyka: New storage transfer limit: {0}", __instance.TransferLimit.Value); | ||||
| 			if (Main.debugMode.Value) | ||||
| 				Console.WriteLine("IndustrialCyka: New storage capacity {0}", __instance.Capacity); | ||||
| 			if (Main.debugMode.Value) | ||||
| 				Console.WriteLine("IndustrialCyka: New storage transfer limit {0}", __instance.TransferLimit); | ||||
| 		} | ||||
|  | ||||
| 		[HarmonyPrefix] | ||||
| 		[HarmonyPatch(typeof(UpointsManager), "GenerateUnity")] | ||||
| 		static void unityGenerationMultiplier(Proto.ID categoryId, ref Upoints generated) { | ||||
| //            Console.WriteLine("IndustrialCyka: Old generated {0} unity", generated.Value); | ||||
| 			if (Main.debugMode.Value) | ||||
| 				Console.WriteLine("IndustrialCyka: Old generated {0} unity", generated.Value); | ||||
| 			Fix32 multi = Fix32.FromFloat(Main.unityGenerationMultiplier.Value); | ||||
| 			generated = new Upoints(generated.Value * multi); | ||||
| //            Console.WriteLine("IndustrialCyka: New generated {0} unity", generated.Value); | ||||
| 			if (Main.debugMode.Value) | ||||
| 				Console.WriteLine("IndustrialCyka: New generated {0} unity", generated.Value); | ||||
| 		} | ||||
|  | ||||
| 		[HarmonyTranspiler] | ||||
| @@ -206,8 +222,12 @@ namespace CykaOfIndustry { | ||||
| 				return; | ||||
| 			} | ||||
|  | ||||
| 			if (Main.debugMode.Value) | ||||
| 				Console.WriteLine("IndustrialCyka: Old buffer capacity {0}", newCapacity); | ||||
| 			Quantity newNewCapacity = new Quantity((int)(newCapacity.Value * Main.bufferCapacityMultiplier.Value)); | ||||
| 			newCapacity = newNewCapacity; | ||||
| 			if (Main.debugMode.Value) | ||||
| 				Console.WriteLine("IndustrialCyka: New buffer capacity {0}", newCapacity); | ||||
| 		} | ||||
|  | ||||
| 		[HarmonyPostfix] | ||||
| @@ -229,14 +249,16 @@ namespace CykaOfIndustry { | ||||
| 				typeof(IEnumerable<Tag>), | ||||
| 			})] | ||||
| 		static void depotTransferSpeedMultiplier(CargoDepotModuleProto __instance) { | ||||
| 			// Console.WriteLine("IndustrialCyka: Old storage capacity: {0}", __instance.Capacity.Value); | ||||
| 			if (Main.debugMode.Value) | ||||
| 				Console.WriteLine("IndustrialCyka: Old depot transfer speed {0}", __instance.QuantityPerExchange); | ||||
| 			Traverse traverse = Traverse.Create(__instance); | ||||
|  | ||||
| 			traverse.Field("QuantityPerExchange") | ||||
| 				.SetValue(new Quantity((int)(__instance.QuantityPerExchange.Value * | ||||
| 				                             Main.depotTransferSpeedMultiplier.Value))); | ||||
|  | ||||
| //            Console.WriteLine("IndustrialCyka: New storage capacity: {0}", __instance.Capacity.Value); | ||||
| 			if (Main.debugMode.Value) | ||||
| 				Console.WriteLine("IndustrialCyka: New depot transfer speed {0}", __instance.QuantityPerExchange); | ||||
| 		} | ||||
|  | ||||
| 		[HarmonyPostfix] | ||||
| @@ -258,7 +280,9 @@ namespace CykaOfIndustry { | ||||
| 				typeof(IEnumerable<Tag>), | ||||
| 			})] | ||||
| 		static void worldMineSpeedMultiplier(WorldMapMineProto __instance) { | ||||
| 			// Console.WriteLine("Before: {0}", __instance.ProducedProductPerStep.Quantity.Value); | ||||
| 			if (Main.debugMode.Value) | ||||
| 				Console.WriteLine("IndustrialCyka: Old world mine speed {0}", | ||||
| 					__instance.ProducedProductPerStep.Quantity); | ||||
| 			ProductQuantity newProductQuantity = new ProductQuantity(__instance.ProducedProductPerStep.Product, | ||||
| 				new Quantity((int)(__instance.ProducedProductPerStep.Quantity.Value * | ||||
| 				                   Main.worldMineSpeedMultiplier.Value))); | ||||
| @@ -266,7 +290,9 @@ namespace CykaOfIndustry { | ||||
| 			Traverse.Create(__instance) | ||||
| 				.Field("ProducedProductPerStep") | ||||
| 				.SetValue(newProductQuantity); | ||||
| 			// Console.WriteLine("After: {0}", __instance.ProducedProductPerStep.Quantity.Value); | ||||
| 			if (Main.debugMode.Value) | ||||
| 				Console.WriteLine("IndustrialCyka: New world mine speed {0}", | ||||
| 					__instance.ProducedProductPerStep.Quantity); | ||||
| 		} | ||||
|  | ||||
| 		[HarmonyPostfix] | ||||
| @@ -297,9 +323,8 @@ namespace CykaOfIndustry { | ||||
| 			int newLevelsPerUpgrade = 10; | ||||
| 			int newMaxLevel = (int)Math.Ceiling((double)maxLevel / newLevelsPerUpgrade) * newLevelsPerUpgrade; | ||||
|  | ||||
| 			// Console.WriteLine("Level: {0}, MaxLevel: {1}, LevelsPerUpgrade: {2}", level, maxLevel, levelsPerUpgrade); | ||||
| 			// Console.WriteLine("NewMaxLevel: {0}", newMaxLevel); | ||||
|  | ||||
| 			if (Main.debugMode.Value) | ||||
| 				Console.WriteLine("IndustrialCyka: Old max level {0}, new max level {1}", maxLevel, newMaxLevel); | ||||
| 			traverse.Field("MaxLevel").SetValue(newMaxLevel); | ||||
| 			traverse.Field("LevelsPerUpgrade").SetValue(newLevelsPerUpgrade); | ||||
| 		} | ||||
| @@ -341,6 +366,8 @@ namespace CykaOfIndustry { | ||||
|  | ||||
| 				if (codes[i].opcode.Equals(matchTable[matches])) { | ||||
| 					if (matches == totalMatch - 1) { | ||||
| 						if (Main.debugMode.Value) | ||||
| 							Console.WriteLine("IndustrialCyka: Patching world mine level increment"); | ||||
| 						codes[i + 4].opcode = OpCodes.Add; | ||||
| 						codes[i + 5].opcode = OpCodes.Brtrue_S; | ||||
| 						break; | ||||
| @@ -370,8 +397,12 @@ namespace CykaOfIndustry { | ||||
| 			typeof(SettlementHousingModuleProto.Gfx), | ||||
| 		})] | ||||
| 		static void housingCapacityMultiplier(SettlementHousingModuleProto __instance) { | ||||
| 			if (Main.debugMode.Value) | ||||
| 				Console.WriteLine("IndustrialCyka: Old housing capacity {0}", __instance.Capacity); | ||||
| 			Traverse.Create(__instance).Field<int>("Capacity").Value = | ||||
| 				(int)(__instance.Capacity * Main.housingCapacityMultiplier.Value); | ||||
| 			if (Main.debugMode.Value) | ||||
| 				Console.WriteLine("IndustrialCyka: New housing capacity {0}", __instance.Capacity); | ||||
| 		} | ||||
|  | ||||
| 		[HarmonyPostfix] | ||||
| @@ -390,9 +421,13 @@ namespace CykaOfIndustry { | ||||
| 			typeof(IEnumerable<Tag>), | ||||
| 		})] | ||||
| 		static void dumpDelayMultiplier(StackerProto __instance) { | ||||
| 			if (Main.debugMode.Value) | ||||
| 				Console.WriteLine("IndustrialCyka: Old dumpDelay {0}", __instance.DumpDelay); | ||||
| 			Duration newDelay = | ||||
| 				new Duration(Math.Max((int)(__instance.DumpDelay.Ticks * Main.dumpDelayMultiplier.Value), 1)); | ||||
| 			Traverse.Create(__instance).Field("DumpDelay").SetValue(newDelay); | ||||
| 			if (Main.debugMode.Value) | ||||
| 				Console.WriteLine("IndustrialCyka: New dumpDelay {0}", __instance.DumpDelay); | ||||
| 		} | ||||
|  | ||||
| 		[HarmonyPrefix] | ||||
| @@ -435,9 +470,14 @@ namespace CykaOfIndustry { | ||||
| 			if (IoPort.MAX_TRANSFER_PER_TICK.Value < 10000) | ||||
| 				typeof(IoPort).GetField("MAX_TRANSFER_PER_TICK").SetValue(null, new Quantity(10000)); | ||||
|  | ||||
| 			if (Main.debugMode.Value) | ||||
| 				Console.WriteLine("IndustrialCyka: Old maxQuantityPerTransportedProduct {0}", | ||||
| 					maxQuantityPerTransportedProduct); | ||||
| 			maxQuantityPerTransportedProduct *= 1000; | ||||
| 			maxQuantityPerTransportedProduct = maxQuantityPerTransportedProduct.Min(new Quantity(10000)); | ||||
| 			Console.WriteLine("maxQuantityPerTransportedProduct {0}", maxQuantityPerTransportedProduct); | ||||
| 			if (Main.debugMode.Value) | ||||
| 				Console.WriteLine("IndustrialCyka: New maxQuantityPerTransportedProduct {0}", | ||||
| 					maxQuantityPerTransportedProduct); | ||||
|  | ||||
| 			speedPerTick *= 10; | ||||
| 			transportedProductsSpacing = speedPerTick; | ||||
| @@ -469,9 +509,13 @@ namespace CykaOfIndustry { | ||||
| 	[HarmonyPatch(typeof(Excavator), "MineMixedAt")] | ||||
| 	public class MineMixedAtPatch { | ||||
| 		public static Dictionary<Excavator, Quantity> originalCapacity = new Dictionary<Excavator, Quantity>(); | ||||
|  | ||||
| 		public static Dictionary<Excavator, ImmutableArray<ThicknessTilesF>> originalMinedThicknessByDistance = | ||||
| 			new Dictionary<Excavator, ImmutableArray<ThicknessTilesF>>(); | ||||
|  | ||||
| 		public static Dictionary<ExcavatorProto.Timings, int> originalMineTileIterations = | ||||
| 			new Dictionary<ExcavatorProto.Timings, int>(); | ||||
|  | ||||
| 		static void Prefix(ref Excavator __instance) { | ||||
| 			if (!originalCapacity.ContainsKey(__instance)) { | ||||
| 				originalCapacity.Add(__instance, __instance.Prototype.Capacity); | ||||
| @@ -480,7 +524,8 @@ namespace CykaOfIndustry { | ||||
| 			var trav = Traverse.Create(__instance.Prototype); | ||||
| 			trav.Field("Capacity") | ||||
| 				.SetValue(new Quantity(originalCapacity[__instance].Value * Main.excavatorCapacityMultiplier.Value)); | ||||
| 			// Console.WriteLine("IndustrialCyka: Excavator capacity: {0}", __instance.Prototype.Capacity.Value); | ||||
| 			if (Main.debugMode.Value) | ||||
| 				Console.WriteLine("IndustrialCyka: Excavator capacity: {0}", __instance.Prototype.Capacity.Value); | ||||
|  | ||||
| 			if (!originalMinedThicknessByDistance.ContainsKey(__instance)) { | ||||
| 				originalMinedThicknessByDistance.Add(__instance, | ||||
|   | ||||
		Reference in New Issue
	
	Block a user