shaw

[1.6.x--1.7.x] TextureReplacer 3.7 (25.1.2019)

Recommended Posts

hey guys. how do these reflections work? I Installed latest TR and Bentley's (J-PRO-91) Suit Kit . im not getting any reflections on the visors. is there something I don't know? isn't TR "reflection ready" and I have to do something for it to work? I read some part of this and the old thread and I just don't get how one makes this work.

Download WindowShine. It makes the visors reflective by default, and most of the windows on command pods as well.

Share this post


Link to post
Share on other sites
I didn't so that might be it. I'll test to see what happens.

Personally, I went with a somewhat less absolute but more elegant option. I just put a whole bunch more non-orange suits in the suits folder. This doesn't completely annihilate the occasional orange suited random kerbal, but it makes them a whole lot rarer.

Share this post


Link to post
Share on other sites
is opengl not compatible with reflections?

Yes, but not on Windows.

Share this post


Link to post
Share on other sites
Personally, I went with a somewhat less absolute but more elegant option. I just put a whole bunch more non-orange suits in the suits folder. This doesn't completely annihilate the occasional orange suited random kerbal, but it makes them a whole lot rarer.

After several hours of testing I found that you were right, excluding suits setting is required for uniform custom suit setting use, otherwise it's random. I assumed incorrectly that custom suits settings would take priority over randomized suits.

I can now start tinkering with more complicated setups like rank armbands in addition to colour coded suits. Thanks again.

Share this post


Link to post
Share on other sites
Not compatible with "Kerbin Side" icons on map appear to be a black square

Then post it on Kerbin Side's mod page. This isn't TextureReplacer's bug to fix.

Share this post


Link to post
Share on other sites
Not compatible with "Kerbin Side" icons on map appear to be a black square

Do you have texture compression/unloading/mipmap generation enabled? Could you upload your log?

Share this post


Link to post
Share on other sites
Eleven said:
I also noticed earlier that a 'rescue Kerbal' from a contract named Peggy got an orange spacesuit as well...these are 2 low level Kerbals + RescuePeggy. One pilot, one engineer and one scientist:

Made an updated version that excludes random suits and forces them to pick from the list, if you want to try it again. After 10 hours of gameplay I haven't seen any incorrectly suited kerbals.

bvCo3pP.jpgu4TNjYB.jpg1N5FHOI.jpg

https://www.dropbox.com/s/1edaw2wk0o92cnv/TextureReplacer.zip?dl=0

Edited by veryinky
Updated pack to new texture replacer directory structure.

Share this post


Link to post
Share on other sites

cool, thanks, I just thought it was kinda weird that the Tourists spawned in the same random suits as all the trained kerbalnauts. So if I understand your code right, setting a class to GENERIC causes them to use whatever setting you have for generic kerbals, and DEFAULT sets that class to the stock textures?

Edited by Capt. Hunt

Share this post


Link to post
Share on other sites

TextureReplacer
{
GenericKerbals
{
excludedSuits = GreyEngineer GreyPilot GreyScientist OrangeEngineer OrangePilot OrangeScientist Tourist
}
CustomKerbals
{
Jebediah Kerman = M DEFAULT OrangePilot
Bill Kerman = M DEFAULT OrangeEngineer
Bob Kerman = M DEFAULT OrangeScientist
Valentina Kerman = F DEFAULT OrangePilot
}
ClassSuits
{
Pilot = GreyPilot
Engineer = GreyEngineer
Scientist = GreyScientist
Tourist = Tourist
}
}

cool, thanks, I just thought it was kinda weird that the Tourists spawned in the same random suits as all the trained kerbalnauts.

Yep.. GenericKerbals:excluded suits stops kerbals from grabbing random suits, I listed every directory in /suits/.

So if I understand your code right, setting a class to GENERIC causes them to use whatever setting you have for generic kerbals, and DEFAULT sets that class to the stock textures?

Ah not quite, but it's a bit confusing so let me explain.

CustomKerbals sets the Original 4 to their set suits, by name. I use DEFAULT in my CustomKerbals for the faces but "DEFAULT" for TextureReplacer refers to the /Default/ directory. But, since I don't have any face textures in my /Default/ directory it uses the Squad stock face textures, I probably should have used GENERIC. The keywords are a bit confusing.

ClassSuits is where the various new kerbals (recruits and tourists) are assigned their suits.

Tourists don't need an EVA texture, any texture not set will default to what's in the /default/ directory, then to squad's original "generic" textures.

I considered adding levels, but there's no way I've found to setup a kerbal piecemail. 5 levels of kerbal would quintuple the size of the textures, since there's no way to re-use the same helmet or jetpack for a certain class. Like for me, all scientists have blue striped helmets and blue striped jetpacks, but to make 5 levels of scientist I'd need to copy that helmet and jetpack texture 5 times. Even though only the EVAtexture and kerbalMainGrey (texture for when kerbal is in IVA) would change.

Edited by veryinky

Share this post


Link to post
Share on other sites

Textures that are the same for all levels, don't need to be quintupled.

Share this post


Link to post
Share on other sites

The KSP Add-on Version Checker is telling me there is a 2.4.5 version available but the link redirects me to the 2.4.4 version. You may want to check that Shaw :wink:

Share this post


Link to post
Share on other sites

I'm just uploading 2.4.5.

p.s. vBulletin is broken, I can't update OP again.

Edited by shaw

Share this post


Link to post
Share on other sites

Female helmet normal map works perfectly now, thanks Shaw!.

BTW, I don't know what have you done, but this time wip-EVE atmos are perfectly reflected (at least from orbit). I need yet to test if it's working so perfect from groud, and with scatterer... but anyways great, great work.

HEp9o10.jpg

Share this post


Link to post
Share on other sites
Female helmet normal map works perfectly now, thanks Shaw!.

BTW, I don't know what have you done, but this time wip-EVE atmos are perfectly reflected (at least from orbit). I need yet to test if it's working so perfect from groud, and with scatterer... but anyways great, great work.

http://i.imgur.com/HEp9o10.jpg

Probably you're above 160 km. Or maybe disabling atmosphere rendering fixed it.

Share this post


Link to post
Share on other sites

Ebz3r0J.png

is a black atmo is not a buffer skybox i think?

Edited by tkw

Share this post


Link to post
Share on other sites

ok, I'm confused, I added Tourist to class suits

but the tourist setting in the toolbar window is blank and tourists are not spawning in the suit I put in the Tourist folder, instead they still have random suits.

Also, I've noticed that they are wearing EVA helmets instead of IVA helmets

here's my config file:

// IF YOU ARE A MODDER do not distribute this file with your mod. Create a new
// file `MyMod.cfg` that has the same structure as this one but only containing
// options you are overriding.

TextureReplacer
{
// Texture compression reduces textures size to 1/6 or 1/4 and hence reduces
// graphics card memory usage and improves performance (less data transferred
// to the GPU).
// Possible options: `always`, `never` and `auto`. Auto means it is enabled
// unless Active Texture Management mod is detected.
isCompressionEnabled = auto

// Generate mipmaps for PNGs and JPEGs in certain directories (specified in
// the next option) to a fix KSP bug that doesn't generate mipmaps for these
// images and makes them look ugly under sharp angles.
// Possible options: `always`, `never` and `auto`. Auto means it is enabled
// unless Active Texture Management mod is detected.
isMipmapGenEnabled = auto

// List of regular expressions that trigger mipmap generation when matching
// the path of a texture that is missing mipmaps. These should cover all model
// textures but not UI icons. The strings are case-sensitive on all platforms.
// The list must be space- and/or comma-separated and in one line.
// Duplicated lists are joined.
generateMipmaps = /FX/ /Parts/ /Props/ /Spaces/ ^ART/ ^ASET(_Props)?/ ^FASA/
generateMipmaps = ^KAS/Textures/ ^Lionhead_Aerospace_Inc/ ^Regolith/Assets/
generateMipmaps = ^RetroFuture/ ^SnacksPartsByWhyren/ ^UmbraSpaceIndustries/

// Some textures (all JPEGs, PNGs and TGAs plus MBM tagged as "readable") are
// kept loaded in RAM. Since this feature is rarely actually needed those
// textures can be unloaded just before the main menu.
// Possible options: `always`, `never` and `auto`. Auto means it is enabled
// unless Active Texture Management mod is detected.
isUnloadingEnabled = auto

// Prevent unloading for textures whose paths match the following regular
// expressions. Some mods access and modify textures, so those shouldn't be
// unloaded.
// The list must be space- and/or comma-separated and in one line.
// Duplicated lists are joined.
keepLoaded = ^BoulderCo/(Clouds|Atmosphere)/ ^CommunityResourcePack/
keepLoaded = ^CustomBiomes/PluginData/CustomBiomes/ ^KittopiaSpace/Textures/
keepLoaded = ^Kopernicus/Textures/ ^Romfarer/textures/
keepLoaded = ^WarpPlugin/PlanetResourceData/

// Skinning quality for animated meshes. It defines how many bones should be
// when interpolating vertices of animated meshes.
// `auto` - default (no change).
// `bone1` - do not interpolate (each vertex is only tied to a single bone).
// `bone2` - interpolate vertices between 2 bones at most.
// `bone4` - interpolate vertices among 4 bones at most.
skinningQuality = auto

// Dump material/texture name pairs to log when performing general texture
// replacement pass. Log entries are of the form
//
// [<materialName>] <textureName>
//
// This option is intended for texture pack designers.
logTextures = false

// Dump names of all meshes with corresponding shaders on parts with
// TRReflection part module.
// This option is intended for part designers.
logReflectiveMeshes = false

// Enable toolbar icon that activates GUI for customising Kerbals.
isGUIEnabled = true

// Reflection type. Possible options are `none`, `static` and `real`. Static
// reflections reflect environment map from `EnvMap/` directory while real
// reflections use dynamically generated environment map that reflects the
// actual environment of a part.
// This is only initial setting for new games! Use the GUI to change it later.
reflectionType = real

// Resolution of cube texture faces that is used for real reflections.
reflectionResolution = 128

// One face of one environment map is updated once in `reflectionInterval`
// rendered frames.
reflectionInterval = 2

// Replace helmet visor shader to support reflections (EVA only).
isVisorReflectionEnabled = true

// Reflection colour. Reflection is multiplied by this RGB colour before it is
// added to the visor colour.
visorReflectionColour = 0.5 0.5 0.5

// Remove IVA helmets in safe situations (landed/splashed and in orbit).
// This is only initial setting for new games! Use the GUI to change it later.
isHelmetRemovalEnabled = true

// Spawn a Kerbal on EVA in his/her IVA suit without helmet and jetpack when
// in breathable atmosphere (+ sufficent pressure).
// This also enables "Toggle EVA Suit" option in Kerbal's context menu.
// This is only initial setting for new games! Use the GUI to change it later.
isAtmSuitEnabled = true

// Minimum air pressure required for Kerbals to wear their IVA suits on EVA.
atmSuitPressure = 50

// List of planets/moons with breathable atmospheres where Kerbals can wear
// their IVA suits on EVA.
// The list must be space- and/or comma-separated and in one line.
// Duplicated lists are joined.
atmSuitBodies = Kerbin Erin Sanctum

// Convert all females to males but apply female textures on them to emulate
// pre-1.0 females. Disabling this feature should restore "legacy" females
// back to real females.
forceLegacyFemales = false

CustomKerbals
{
// Custom heads and suits for specific Kerbals. These entries are only used
// as initial settings for new games or existing games when they are run
// with TextureReplacer for the first time. Entries are of the form:
//
// name = gender headTex [suitDir]
//
// where `gender` is either `M` or `F`, `headTex` is an image (without
// extension) inside `Heads/` and `suitDir` is a subdirectory inside `Suits/`
// containing textures for a suit. `DEFAULT` keeps the default head/suit
// textures from `Default/` and `GENERIC` assigns a generic head/suit using
// the same rules as for the generic Kerbals. If `suitDir` is missing then
// `GENERIC` is assumed.
//
// Examples:
//
// Huey Kerman = M head1 Suit1
// Dewey Kerman = M head2 DEFAULT
// Louie Kerman = M head3
// Donald Kerman = M DEFAULT DEFAULT
// Daisy Kerman = F DEFAULT
// Scrooge Kerman = M GENERIC Suit2
//
}

GenericKerbals
{
// Prevent the following heads from being assigned to generic Kerbals.
// The list must be space- and/or comma-separated and in one line.
// Duplicated lists are joined.
excludedHeads =

// Prevent the following suits from being assigned to generic Kerbals.
// The list must be space- and/or comma-separated and in one line.
// Duplicated lists are joined.
excludedSuits =

// Female heads. Texture names inside `Heads/` (without extensions).
// The list must be space- and/or comma-separated and in one line.
// Duplicated lists are joined.
femaleHeads =

// Female suits. Directory names inside `Suits/`.
// The list must be space- and/or comma-separated and in one line.
// Duplicated lists are joined.
femaleSuits =

// Eye-less heads. Eyes will be hidden for those heads, so one can paint
// custom ones on the head texture.
// The list must be space- and/or comma-separated and in one line.
// Duplicated lists are joined.
eyelessHeads =
}

CabinSuits
{
// Cabin-specific suits. These are enforced even if a Kerbal has a custom
// suit. Entries are of the form:
//
// partName = suitDir
//
// where `partName` is the name of a part (`name = ...` in `part.cfg`) and
// `suitDir` is a suit directory from `Suits/`, `DEFAULT` or `GENERIC`.
//
// NOTE: Any underscores in `partName` must be replaced by periods.
//
// Examples:
//
// Mark1Cockpit = PilotSuit
// crewCabin = DEFAULT
KSO.Cabin = KSO_Phase_1_Suit
KSO25.Cabin = KSO_Phase_3_Suit
mk2Cockpit.Standard = KSP_Dark_Orange_IVA_suit
mk2Cockpit.Inline = KSP_Dark_Orange_IVA_suit
}

ClassSuits
{
// Class-specific suits. This is only initial setting for new games.
//
// className = suitDir
//
// where `className` is `Pilot`, `Engineer` or `Scientist` and `suitDir` is
// a suit directory from `Suits/`, `DEFAULT` or `GENERIC`.
// Custom experience traits are supported too. `className` must match `name`
// property in a `EXPERIENCE_TRAIT` configuration.
//
// Examples:
//
// Pilot = Suit1
// Engineer = DEFAULT
// Scientist = GENERIC
//
Tourist = Tourist
}
}

Edit: The EVA helmets in IVA bug only occurs if the user selects "Remove IVA helmets in safe situations"

Edit2: Ok, I think I figured it out, you still have to set the tourist suit in the window, I was just clicking on the wrong button, so I didn't see it.

Edited by Capt. Hunt

Share this post


Link to post
Share on other sites

Forget "CustomKerbals" and "ClassSuits" sections, they have no effect on existing games since the GUI has been introduced.

They may only be used by modders who create texture packs.

Share this post


Link to post
Share on other sites

in 2.4.4 you have written in the changelog:

  • disabled texture compression, mipmap generation and unloading by default, these functions will be removed in the next major release

but in 2.4.5, it says:

  • re-enabled texture compression, mipmap generation and unloading

what ever happened to removing these functions? Or were you specifically removing the function of disabling these? Could you please clarify what you meant exactly?

Share this post


Link to post
Share on other sites
Forget "CustomKerbals" and "ClassSuits" sections, they have no effect on existing games since the GUI has been introduced.

Could it be possible to have a "set kerbals to pre-sets" button in the GUI which does set kerbals in existing games?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.