Jump to content

[0.90] TweakScale - Rescale Everything! (v1.50 - 2014-12-24 10:40 UTC)


Biotronic

Recommended Posts

So thar! New version up!

Real Fuels and Modular Fuel Tanks support currently disabled since they're not yet 0.24 compatible.

Also, this update features the heavy rewriting I mentioned earlier, so I expect there to be at the very least some problems. Please do file bugs, either here or on GitHub.

Oh, and one more thing: it's currently unpossible to change the cost per-part, so rescaled parts cost the same as their unscaled brethren.

Edited by Biotronic
Link to comment
Share on other sites

Actually... I've been thinking about the impossible-to-change-cost problem, and I think there is a simple enough workaround. It's not very suitable for KAS, which also has that problem, but should be good enough for TweakScale, as well as any procedurally sized part.

  1. Introduce a new resource, let's call it simply Funds. It's massless, can't be pumped or transferred, and if possible, hidden from view in resource lists. (That bit might be complicated but should be possible.) Every unit of it costs one kerbal monetary unit.
  2. Straight part cost is the cost of the cheapest part variation. Every other variation's cost is affected by dynamically adding a Funds tank to the part and increasing the amount of Funds it contains.

Link to comment
Share on other sites

Actually... I've been thinking about the impossible-to-change-cost problem, and I think there is a simple enough workaround.

Interesting idea.. but how would the Funds resource interact with the actual funds? Or are you thinking of adding a simple resource, that, as the part gets bigger, you get more of them which costs more? That's.. actually a pretty good idea!

Link to comment
Share on other sites

Interesting idea.. but how would the Funds resource interact with the actual funds? Or are you thinking of adding a simple resource, that, as the part gets bigger, you get more of them which costs more? That's.. actually a pretty good idea!

Simple resource. It's only role is to cost actual funds to launch. :) The only thing I'm not sure how to do is how to completely hide it from view and prevent it from showing up anywhere in the UI.

If that can be solved, I'm sure it would work quite well.

Link to comment
Share on other sites

Hmm.. how well would hideFlow = true do that? That's (part of) the fix for hiding the electrical charge on B9 engines to prevent that NaN bug.. but I don't know if it truly hides the resource as I don't use B9. Obviously, isTweakable would be False, NO_PUMP and transfer NONE would be there as well.

Link to comment
Share on other sites

I'd really like to know now why I'm still being told that "Scale" is not compatible with 0.24 when KSP loads.

EDIT: Never mind, infernal robotics keeps installing it's own copy of Scale.dll (irritates the heck out of me) and that was the offending dll.

Edited by Gaalidas
Link to comment
Share on other sites

Suggestion about scaling the part values, if it's even possible (I like this 'funds' idea -- even if it's shown, but you can't tweak it? That way you know how expensive the part is).

Make scaling change the price on a curve? So, really small parts are _really_ cheap, and really big parts get extortionately expensive? More than just the volume's scaling provides, tho.

Link to comment
Share on other sites

Hmm.. how well would hideFlow = true do that? That's (part of) the fix for hiding the electrical charge on B9 engines to prevent that NaN bug.. but I don't know if it truly hides the resource as I don't use B9. Obviously, isTweakable would be False, NO_PUMP and transfer NONE would be there as well.

If all else fails, it's always possible to eradicate the resource from ResourceDisplay structure directly, but that's a route that is likely to break something, finding a saner way to create a completely invisible resource would be best.

Come to think of it, even KAS can use the same trick, it just would need to change the amount of funds resource and the size of the tank every time something gets inserted into a container or removed from it even during gameplay -- procedural and scaled parts would only need to do this in editor.

Link to comment
Share on other sites

Actually... I've been thinking about the impossible-to-change-cost problem, and I think there is a simple enough workaround. It's not very suitable for KAS, which also has that problem, but should be good enough for TweakScale, as well as any procedurally sized part.

  1. Introduce a new resource, let's call it simply Funds. It's massless, can't be pumped or transferred, and if possible, hidden from view in resource lists. (That bit might be complicated but should be possible.) Every unit of it costs one kerbal monetary unit.
  2. Straight part cost is the cost of the cheapest part variation. Every other variation's cost is affected by dynamically adding a Funds tank to the part and increasing the amount of Funds it contains.

Man, this is actually a lot harder than I expected. First of all, partInfo.cost is (cost of part) + (cost of resources), so just filling the money tank to add cost doesn't work.

What I did was calculate the maximum possible cost of the part (at max scale), and add funds equal to that. So if the part has a maximum value of 4000, it has a tank with a capacity of 4000 moneys. If at 1.25m scale it would cost 200, the money tank holds 200 out of 4000 moneys.

But apparently I should be sleeping, as my calculations are most definitely off. I think the idea is right though. We'll see tomorrow.

Link to comment
Share on other sites

Man, this is actually a lot harder than I expected. First of all, partInfo.cost is (cost of part) + (cost of resources), so just filling the money tank to add cost doesn't work.

This is what I came to mention.

It might be possible to define the tank as having an initial capacity of zero, with the hope that the configured cost would be undisrupted, and then change the capacity (and contents) at runtime. It's fairly easy to make a resource "untouchable" to the base game, but it would indeed be messy to try and hide it.

My opinion: Don't hide it. Make it obvious, make it ugly, and make it well known that this is something Squad needs to fix. This issue was known for nearly two months prior to 0.24 release. I suggest a resource name like GoshProceduralCostWouldBeNice or SeeTrackerIssue2619.

Link to comment
Share on other sites

You actually can fill a resource tank above capacity, and even set the maxAmount to zero, and it seems that things still work just fine. Cost from such resources is simply added to the base cost.

Link to comment
Share on other sites

Something is ... off ... a tad. Specifically, I am having this strange issue where switching from a ship to the space center then back to the ship, it fills back up its tanks. I noticed my munar mission had a lot more deltav than I had originally planned out when I got back.

So what I did is created a stock ship with stock parts untweaked. Just a tank, rocket and capsule. Locked it in place with the support struts and burned off a quarter of the tank. Pressed escape, went to space center, then went to the tracking station, clicked on the ship and selected fly. It took me back to the ship still on the pad now with full fuel. I double checked I didn't have the infinite fuel cheat set and in case you are wondering this happens to ships not on the launchpad as well.

I then removed tweakscale and repeated the whole process and when I came back to the ship it still had a quarter of its tank missing.

This Link:

https://docs.google.com/a/elfindreams.com/folderview?id=0B8a1K8EUgZmVSlIydkpIa1JYMVk&usp=drivesdk

Has a quicksave with the ship on the pad, the log files both with and without tweakscale. If it matters, I am running the new 64 bit version.

Link to comment
Share on other sites

That file is private.

But I'm getting the same experience as you, the tanks being refilled when I return to the vessel. I'll try removing TS and see what happens.

EDIT: Confirmed, it's either TS or KAE that refills the tanks. Clean install with only MM and TS installed (64bit version), craft on launchpad gets tanks refilled.

output_log.txt: http://pastebin.com/jKt3LJj8

Persistent.sfs: http://pastebin.com/Nn473EA0

It happens whenever the vessel is loaded - after a quicksave/load, when switched to via tracking station etc.

Edited by ObsessedWithKSP
Link to comment
Share on other sites

This is what I came to mention.

It might be possible to define the tank as having an initial capacity of zero, with the hope that the configured cost would be undisrupted, and then change the capacity (and contents) at runtime. It's fairly easy to make a resource "untouchable" to the base game, but it would indeed be messy to try and hide it.

My opinion: Don't hide it. Make it obvious, make it ugly, and make it well known that this is something Squad needs to fix. This issue was known for nearly two months prior to 0.24 release. I suggest a resource name like GoshProceduralCostWouldBeNice or SeeTrackerIssue2619.

That is hilarious... I love the idea... my normal response to a lot of plugin related issues, or at least what in tell myself is that the devs move slower than the community of modders... this is a fact and I'm sure there is a reason for it like they don't have a lot of programmers or they are working on more than what one modder is and while all of these reasons are probably sound the full time development programmers are usually well informed by the community of valid issues. Also while I don't know much about the old spaceport I'm nearly positive that curse tracks downloads by hand and it should be easy for the devs to find the most used mods and look into the tickets that are pertinent to those moods.

don't know, while I love the game and try to give them benefit the doubt, loads leeway it seems to me that they would listen to there very talented and informative community members because like it or not I don't think this game would be as popular without the mods.

Link to comment
Share on other sites

I love your plugin but I have a problem when using it. I use Tweakscale to scale different parts of this pack: http://forum.kerbalspaceprogram.com/threads/84224-Klockheed-Martian-Special-Parts-V0-3-7-July-Dev-Thread-Skylab/page2

However, if I use the "techRequired" parameter, things hang for a couple of seconds everytime I add a new part in the VAB. This only happens in career mode. Here is the config for the part (the cargo bays, for example).


MODULE
{
name = TweakScale
type = stack
scaleFactors = 0.625, 1.25, 1.875, 2.5, 3.75
scaleNames = 0.625, 1.25, 1.875, 2.5, 3.75
techRequired = precisionEngineering, electrics, advElectrics, largeElectrics, specializedElectrics
}

Am I doing something wrong or is there still a bug?

Bumping this because I think it was overlooked.

People are reporting up to 30s delay in career mode.

I think the hasTech is called multiple times in a row, loading the config and tech tree several times. This seems to delay part placement.

I really love the idea and execution of tweakscale but I probably have to remove it because it makes using the parts in career mode with tech really slow.

Any help would be appreciated.

Link to comment
Share on other sites

You actually can fill a resource tank above capacity, and even set the maxAmount to zero, and it seems that things still work just fine. Cost from such resources is simply added to the base cost.

That's contrary to the results of my experiments - any resources above maxAmount seem to simply be ignored.

Bumping this because I think it was overlooked.

People are reporting up to 30s delay in career mode.

I think the hasTech is called multiple times in a row, loading the config and tech tree several times. This seems to delay part placement.

I really love the idea and execution of tweakscale but I probably have to remove it because it makes using the parts in career mode with tech really slow.

Any help would be appreciated.

Ouch. I'm on it. Sadly (oh woe is me), I have to join my family for a day at the beach. So expect something around 18:00 to 23:00 UTC.

Link to comment
Share on other sites

Did you catch this, Bio? Pretty annoying bug :/

Though, now I look at it, the vessel is saved with full tanks and when I left them, they were very much not full. Hmm...

That file is private.

But I'm getting the same experience as you, the tanks being refilled when I return to the vessel. I'll try removing TS and see what happens.

EDIT: Confirmed, it's either TS or KAE that refills the tanks. Clean install with only MM and TS installed (64bit version), craft on launchpad gets tanks refilled.

output_log.txt: http://pastebin.com/jKt3LJj8

Persistent.sfs: http://pastebin.com/Nn473EA0

It happens whenever the vessel is loaded - after a quicksave/load, when switched to via tracking station etc.

Link to comment
Share on other sites

That's contrary to the results of my experiments - any resources above maxAmount seem to simply be ignored.

Ignored by what? Obviously you won't be trying to do that using RequestResource, and don't let the stock tweakable interface even look at your misbalanced container (hideFlow=true, isTweakable=false etc). Otherwise, if you edit a craft to introduce that it will be properly loaded, saved, launched, recovered, and all the costs will be as expected.

Link to comment
Share on other sites

That file is private.

But I'm getting the same experience as you, the tanks being refilled when I return to the vessel. I'll try removing TS and see what happens.

EDIT: Confirmed, it's either TS or KAE that refills the tanks. Clean install with only MM and TS installed (64bit version), craft on launchpad gets tanks refilled.

output_log.txt: http://pastebin.com/jKt3LJj8

Persistent.sfs: http://pastebin.com/Nn473EA0

It happens whenever the vessel is loaded - after a quicksave/load, when switched to via tracking station etc.

Ouch, I swear I set it not private last night... LOL it should be public now.

Link to comment
Share on other sites

Did you catch this, Bio? Pretty annoying bug :/

Though, now I look at it, the vessel is saved with full tanks and when I left them, they were very much not full. Hmm...

Yeah, I also know what causes it and how to fix it.

Link to comment
Share on other sites

the problem i encountred was that even thou i have a kw .cfg and it worked in .23.5 in .24 the kw .cfg wont work kw stuff has the bar to resize but they dont actualy resize or do have to wait time all other parts seem to resize instantly but for kw

Link to comment
Share on other sites

Actually... I've been thinking about the impossible-to-change-cost problem, and I think there is a simple enough workaround. It's not very suitable for KAS, which also has that problem, but should be good enough for TweakScale, as well as any procedurally sized part.

  1. Introduce a new resource, let's call it simply Funds. It's massless, can't be pumped or transferred, and if possible, hidden from view in resource lists. (That bit might be complicated but should be possible.) Every unit of it costs one kerbal monetary unit.
  2. Straight part cost is the cost of the cheapest part variation. Every other variation's cost is affected by dynamically adding a Funds tank to the part and increasing the amount of Funds it contains.

How does that work with refunds? I thought resources were refunded 100%, in which case it's not ideal (though may well be the best you can do until Squad makes the needed changes).

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...