Jump to content

Epiphoskei

Members
  • Posts

    4
  • Joined

  • Last visited

Reputation

0 Neutral
  1. I also had the bug where the KR&D window had no text or buttons in it after selecting a piece. Oddly enough the issue for me seemed to be in the Module Manager dll, rather than a dependency with my mods. Order of operations was: 1) Clean install of KSP 2) Download KR&D, move into gamedata folder, run. There's no KR&D icon. 3) Because I'd forgotten about the dependencies, so I copy over Clickthrough Blocker, Toolbar Control, and space tux library from my old archived install folder. Run. The icon is there but the empty-window bug persists. 4) Delete CB, TC, and STL from my install and go get current copies of them from their respective pages. The empty window bug persists. 5) I'd forgotten about module manager, so I copy that over from my old install. The empty window bug persists. 6) I get a fresh download of module manager, and finally things operate as expected. Afterwards I went back to just add module manager to my old install and hope things would start working correctly again, but that caused the game to hang on load screen. I'll just have to be satisfied and start a new game.
  2. Oh boy... After spending way too long reading source code and debug logs and learning way more about C# than I ever wanted, I realized all the parts.cfg override lines were commented out. Issue resolved. I did notice when I was in all that code, that the algorithm for determining the exponential increase to cost and upgrade is public static int calculateScienceCost(int baseCost, float costScale, int upgrades) { float cost = 0; if (upgrades < 0) upgrades = 0; for (int i = 0; i < upgrades; i++) { if (i == 0) cost = baseCost; else cost += baseCost * (float)Math.Pow(costScale, i - 1); } if (cost > 2147483647) return 2147483647; // Cap at signed 32 bit int return (int)Math.Round(cost); } Is there a reason this couldn't just be public static int calculateScienceCost(int baseCost, float costScale, int upgrades) { float cost = 0; if (upgrades < 0) upgrades = 0; cost = baseCost * (float)Math.Pow(costScale, upgrades); if (cost > 2147483647) return 2147483647; // Cap at signed 32 bit int return (int)Math.Round(cost); } My head is spinning from too much code, but it seems to me that -these two functions are algorithmically equivalent when costScale is 2 -when cost scale is other than 2, the current code makes it 2 for the first increase, and then costScale thereafter. This code makes it always equal to costScale -this should be cheaper because it performs math.pow one time, instead of calling it in a loop for upgrades number of times.
  3. This is happening to me too. Here's what I'm doing. 1) Fresh install 2) Copy a fresh ModuleManager.4.1.3.dll into GameData 3) Copy a fresh ToolbarController 0.1.9.4 into GameData 4) Copy a fresh Clickthroughblocker 0.1.9.5 into GameData 5) Copy a fresh SpaceTux Library into GameData (version unknown) 6) Copy a fresh Kerbal Research and Development 1.16.0.6 7) Edit GameData/KRnD/MM_Patches/parts.cfg so that costs go up by 1.1 instead of 2, and improve by 1.01 instead of 1 8) Run KSP for the first time since freshly installing. 9) Module Manager automatically creates .ConfigCashe, .ConfigSHA, .Physics, and .TechTree files 10) Create new save 11) Go to VAB & Cheat myself 1000 Science. 12) Using the stock single man capsule and the flea solid fuel rocket, upgrade both dry mass and ISP. The cost keeps doubling and the improvement stays level, as it would have if the pre-modding parts.cfg file still existed. This happened to me intermittently in 1.3 - 1.5, and never in 1.7. I haven't played since then. In 1.3-1.5, it seemed like KSP didn't like some values - it would use a cost factor of 0, or 1.3, but never 1.1. Whenever it wouldn't take a value, it would use the defaults. I've tried 0, 1.1, and 1.3 so far, and none of them have worked.
  4. I'm a novice Java programmer and I was trying to see if I could figure out C# enough to make a simple tweak to how a plugin operated. I downloaded the source code and tried to compile the .cs to a .dll from the command prompt I'm using this syntax on the command line. csc /target:library /out:C:\...path...\Output.DLL C:\...path...\Input.cs I get a lot of errors saying Namespace name 'KSP' could not be found, 'UnityEngine' could not be found, etc., , which I take to mean I have to tell the compiler to use other KSP and Unity resources. Is this a simple fix or am I making things needlessly complex by bypassing an IDE? Thanks all!
×
×
  • Create New...