[A17] Miniaturisation Overloaded

Started by notfood, August 03, 2016, 09:36:22 PM

Previous topic - Next topic

notfood

This mod has been superseeded by Minify Everything go get that one. This one won't be updated anymore.


If it has a name, you can shrink it.

Features
Simple mod friendly miniaturisation
Have you ever looked at a construction and thought it'd look better in a different place? Deconstructing and constructing it again is such a waste. No more.
This mod introduces the MiniaturisationDef, it allows you or anyone to shrink any table, or not necessarily a table, as long as you have its defName.

Mod support
Miniaturisation currently supports the following mods:
- AdditionalLighting
- Bulk Meals
- Colony Manager
- Combat Realism
- Core Driller
- Craftable Medicines
- Defence Shield
- DermalRegenerator
- Edge Technologies
- ED-ReinforcedStuff
- ED-ReverseCycleCooler
- ED-SubspaceTransponder
- Expanded Prosthetics and Organ Engineering
- ExtendedMedicine
- ExtendedStorage
- Glitter Tech
- Hardcore SK
- LT-DoorMat
- Medical Training
- Mending
- Misc. Objects
- Misc. Training
- Modular Tables
- Roof Support
- Solar Flare Shield
- T_ExpandedCrops
- Vegetable Garden

If you don't have the mod, the MiniaturisationDefs are ignored.

Full miniaturisation control
You can edit or contribute MiniaturisationDefs directly to the Github repository or you can make a new mod and load it after this one, your changes will override the ones included by default. If you don't like something, just edit it.

This is the format, example for EPOE:<Defs>
    <Miniaturisation.MiniaturisationDef>
        <defName>MiniaturisationEPOE</defName>
        <requiredMod>Expanded Prosthetics and Organ Engineering</requiredMod>
        <targetsDefNames>
            <li>TableBasicProsthetic</li>
            <li>TableBionics</li>
            <li>TableSimpleProsthetic</li>
            <li>TableSurrogates</li>
            <li>TableSynthetics</li>
            <li>UpgradingStation</li>
        </targetsDefNames>
    </Miniaturisation.MiniaturisationDef>
</Defs>

defName should be unique, requiredMod is the name found in the About.xml of that mod and targetsDefNames are the names of the things you want to shrink. Put it in Defs/MiniaturisationDefs and you are golden.

Download

  A17

A16

Older versions can be found here.

1000101

This is brilliant.  I was just thinking earlier today that I should put another option into CCL to do this and lo!  You beat me to the punch!

110% endorsed!  :)
(2*b)||!(2*b) - That is the question.
There are 10 kinds of people in this world - those that understand binary and those that don't.

Powered By

123nick

this mod allows miniaturisation of vanilla objects, like standing lamps and sun lamps and such, right? like what this mod: http://steamcommunity.com/sharedfiles/filedetails/?id=726372052  does right?

edit: nvm, found out it does  :P

RemingtonRyder

Bear in mind that not all objects will like being minified. For example, last I checked, turrets need a dummy comp to initialise properly.

Serenity

Quote from: MarvinKosh on August 03, 2016, 11:47:21 PM
For example, last I checked, turrets need a dummy comp to initialise properly.
What do you mean with "dummy comp"? I noticed that when I moved one it wasn't there

RemingtonRyder

Like so:

using RimWorld;
using Verse;

namespace HotCold_Minification
{
    public class CompTurretInit : ThingComp
    {
        public Thing gun;

        public override void Initialize(Verse.CompProperties props)
        {
            base.Initialize(props);
            Building_TurretGun turret = parent as Building_TurretGun;
            if (turret != null && turret.gun == null)
            {
                gun = (Thing)ThingMaker.MakeThing(parent.def.building.turretGunDef);
                turret.gun = gun;

            }
        }

        public override void PostSpawnSetup()
        {
            base.PostSpawnSetup();
            //It just needed first time.
            if (gun != null)
            {
                gun.Destroy();
                gun = null;
            }
        }
    }
}



Elysium

Quote from: MarvinKosh on August 03, 2016, 11:47:21 PM
Bear in mind that not all objects will like being minified. For example, last I checked, turrets need a dummy comp to initialise properly.

I don't know if this is the same issue or not, but I am unable to move small coolers from RedistHeat.  The Reinstall/Uninstall icons show up as expected, however when I try to reinstall there is no work order for it.

I am able to uninstall the object, however when doing an error pops up:
MinifiedFurniture118716 gave an inspect string over six lines (some may be empty): Not installed

Other than the minified cooler appearing to lack a proper texture when in an item state, the game was working fine afterwards.  Was able to successfully install the cooler in another location without issues.

I will attach the xml in case anyone wanted to try it for some reason.

[attachment deleted by admin - too old]

notfood

Yeah, some things with complex comps refuse to cooperate. We're going to need some exceptions and handle those accordingly.

Spare74

I just discovered this version of the mod but when I tried it I get errors and I can't miniaturized anything :s
Here's a look at the errors I get.

123nick

i made a pull request for Telkirs Expanded Crops, it adds miniaturisation compatability too the model T cupboard and cooking stove.

notfood

Quote from: Spare74 on August 05, 2016, 06:30:28 PM
I just discovered this version of the mod but when I tried it I get errors and I can't miniaturized anything :s
Here's a look at the errors I get.

You lack the dll, you downloaded the source. Download the release.

123nick

thanks for merging the pull request notfood :) a question- is it updated on the steam workshop aswell?

notfood

I haven't uploaded it yet. I was making sure there were no bugs.

Spare74

Quote from: notfood on August 05, 2016, 08:13:41 PM
You lack the dll, you downloaded the source. Download the release.

Damn, I'm so dumb!

Thanks a lot for the quick answer though :)

Serenity

T_ExpandedCrops is missing its .xml ending