shaw

BROKEN [0.90] TextureReplacer 2.1.2 (20.12.2014)

Recommended Posts

Pimp My Kerbals! needs to be converted for compatibility with TextureReplacer 1.3:

1. Move all head textures from `CustomKerbals/` and `GenericKerbals/` into `Heads/`. You will also have to rename them since Jeb's, Bill's and Bob's head are all `kerbalHead.png`. Let's rename them to `Jeb.png`, `Bill.png` and `Bob.png` respectively.

2. Move suits from `GenericKerbals/` (`Blue/` and `Orange/` folders) into `Suits/` and move veteran suit from `CustomKerbals/` (`kerbalMainGrey.png` and `kerbalMainNRM.png`) to `Default/`.

3. Delete `CustomKerbals/` and `GenericKerbals/`.

4. Create a new configuration file, e.g. PimpMyKerbals.tcfg:


TextureReplacer
{
CustomKerbals
{
Jebediah Kerman = Jeb DEFAULT
Bill Kerman = Bill DEFAULT
Bob Kerman = Bob DEFAULT
}
GenericKerbals
{
excludedHeads = Jeb Bill Bob
}
}

For the Generic Suits, renaming them to OrangekerbalMainGrey.png and BlueKerbalMainGrey.png will work ? Or I keep in separate folders in \Suits ? :)

Thanks for your post and guide !

Share this post


Link to post
Share on other sites

I've been encountering crashes for the last 3 hours, always after 15-25mn max. KSP uses more and more RAM, then dies.

Here's what's in the log, thousands of line of it :

[LOG 00:05:23.097] [TR.Loader] Texture compression spared 6.3 MiB = 6.6 MB

[LOG 00:05:23.121] [TR.Reflections] Environment map -x -> TextureReplacer/EnvMap/NegativeX

[LOG 00:05:23.122] [TR.Reflections] Environment map -y -> TextureReplacer/EnvMap/NegativeY

[LOG 00:05:23.122] [TR.Reflections] Environment map -z -> TextureReplacer/EnvMap/NegativeZ

[LOG 00:05:23.123] [TR.Reflections] Environment map +x -> TextureReplacer/EnvMap/PositiveX

[LOG 00:05:23.123] [TR.Reflections] Environment map +y -> TextureReplacer/EnvMap/PositiveY

[LOG 00:05:23.123] [TR.Reflections] Environment map +z -> TextureReplacer/EnvMap/PositiveZ

[LOG 00:05:23.134] [TR.TextureReplacer] System.ArgumentOutOfRangeException: Cannot be negative.

Parameter name: length

at System.String.Substring (Int32 startIndex, Int32 length) [0x00000] in <filename unknown>:0

at TextureReplacer.Personaliser.initialise () [0x00000] in <filename unknown>:0

at TextureReplacer.TextureReplacer.LateUpdate () [0x00000] in <filename unknown>:0

[LOG 00:05:23.150] [TR.Loader] Texture compression spared 6.3 MiB = 6.6 MB

[LOG 00:05:23.175] [TR.Reflections] Environment map -x -> TextureReplacer/EnvMap/NegativeX

[LOG 00:05:23.175] [TR.Reflections] Environment map -y -> TextureReplacer/EnvMap/NegativeY

[LOG 00:05:23.176] [TR.Reflections] Environment map -z -> TextureReplacer/EnvMap/NegativeZ

[LOG 00:05:23.176] [TR.Reflections] Environment map +x -> TextureReplacer/EnvMap/PositiveX

[LOG 00:05:23.176] [TR.Reflections] Environment map +y -> TextureReplacer/EnvMap/PositiveY

[LOG 00:05:23.177] [TR.Reflections] Environment map +z -> TextureReplacer/EnvMap/PositiveZ

[LOG 00:05:23.187] [TR.TextureReplacer] System.ArgumentOutOfRangeException: Cannot be negative.

Parameter name: length

at System.String.Substring (Int32 startIndex, Int32 length) [0x00000] in <filename unknown>:0

at TextureReplacer.Personaliser.initialise () [0x00000] in <filename unknown>:0

at TextureReplacer.TextureReplacer.LateUpdate () [0x00000] in <filename unknown>:0

[LOG 00:05:23.204] [TR.Loader] Texture compression spared 6.3 MiB = 6.6 MB

[LOG 00:05:23.227] [TR.Reflections] Environment map -x -> TextureReplacer/EnvMap/NegativeX

[LOG 00:05:23.228] [TR.Reflections] Environment map -y -> TextureReplacer/EnvMap/NegativeY

[LOG 00:05:23.228] [TR.Reflections] Environment map -z -> TextureReplacer/EnvMap/NegativeZ

[LOG 00:05:23.229] [TR.Reflections] Environment map +x -> TextureReplacer/EnvMap/PositiveX

[LOG 00:05:23.229] [TR.Reflections] Environment map +y -> TextureReplacer/EnvMap/PositiveY

[LOG 00:05:23.230] [TR.Reflections] Environment map +z -> TextureReplacer/EnvMap/PositiveZ

[LOG 00:05:23.240] [TR.TextureReplacer] System.ArgumentOutOfRangeException: Cannot be negative.

Parameter name: length

at System.String.Substring (Int32 startIndex, Int32 length) [0x00000] in <filename unknown>:0

at TextureReplacer.Personaliser.initialise () [0x00000] in <filename unknown>:0

at TextureReplacer.TextureReplacer.LateUpdate () [0x00000] in <filename unknown>:0

Before posting here I removed the custom kerbals textures, then the custome galaxy. The log stopped mentionning those, but still the crashes continue. :D

Share this post


Link to post
Share on other sites

<filename unknown>:0 I would suggest that this is your problem. Start again with a fresh install of TextureReplacer. Then name your textures as required. Then add in groups and test one group at a time.

Share this post


Link to post
Share on other sites
For the Generic Suits, renaming them to OrangekerbalMainGrey.png and BlueKerbalMainGrey.png will work ? Or I keep in separate folders in \Suits ? :)

Thanks for your post and guide !

No, just move `Orange/` and `Blue/` folders inside `Suits/`.

Share this post


Link to post
Share on other sites
I've been encountering crashes for the last 3 hours, always after 15-25mn max. KSP uses more and more RAM, then dies.

Here's what's in the log, thousands of line of it :

Before posting here I removed the custom kerbals textures, then the custome galaxy. The log stopped mentionning those, but still the crashes continue. :D

You probably have a texture directly in `Suits/` directory, right? Each suit should have its own directory inside `Suits/`.

Share this post


Link to post
Share on other sites
Hi Guys, i'm using blubbermonkeys' skybox. >> http://forum.kerbalspaceprogram.com/showthread.php?p=903890#post903890

And I get this result, very not pretty banding from the shading off.

http://tof.canardpc.com/preview2/2f8708e5-3c00-47f2-913b-ab8cef2b485a.jpg

I've looked again at the huge 6000*6000*24 source galaxy textures in PNG, and when zooming to at least 50% that shadingoff is also visible. :(

I haven't tweaked luminosity in the game, but maybe I missed something.

PS : i'm using ActiveTextureManagement at its latest version, it might the source of trouble ?

Man, that's hella gross. There's banding in the textures themselves but not quite to that degree. This COULD be an issue with active texture management poorly optimizing the texture and increasing the obviousness of the bandings. I'd switch that off and see if it helps. If that doesn't work I could suggest resizing the images. I seriously don't think a 6k skybox is necessary. Resizing them to 4096 squared should help slightly with compression, if that's the issue. Also, you could consider lowering the brightness of the textures themselves which might help a little as well.

A very nice Jool texture (not mine) from the Artwork Forum: http://forum.kerbalspaceprogram.com/threads/74876-A-little-Jool-texture-I-m-working-on-RELEASED%21 I thought it would be a shame if people would not see it here. Has a great stock feel, still fresh and different!

That's pretty great. I love Jool textures that aren't just a Jupiter recoloring.

Edited by Endraxial

Share this post


Link to post
Share on other sites

As of 1.3.4 I no longer get the proper "personalized" textures for Kerbals in the stock 3-crew command pod (and possibly the other pods - haven't tested). Those that do get their textures replaced end up with the suit from the Default directory. The textures are definitely loading, as they work and assign properly on EVA, but the crews inside the pod with specific suits are all producing the following NREs:


[LOG 20:18:15.200] 04/05/2014 20:18:15,KerbalAlarmClock,Vessel Change from 'No Vessel' to 'Ptolemy 1'
[LOG 20:18:15.225] [TR.TextureReplacer] System.NullReferenceException: Object reference not set to an instance of an object
at TextureReplacer.Personaliser.replaceKerbalSkin (UnityEngine.Component component, .ProtoCrewMember kerbal, .Part inPart, Boolean isAtmSuit) [0x00000] in <filename unknown>:0
at TextureReplacer.Personaliser.replaceKerbalSkins () [0x00000] in <filename unknown>:0
at TextureReplacer.Personaliser.updateScene () [0x00000] in <filename unknown>:0
at TextureReplacer.TextureReplacer.LateUpdate () [0x00000] in <filename unknown>:0
[LOG 20:18:15.264] [TR.TextureReplacer] System.NullReferenceException: Object reference not set to an instance of an object
at TextureReplacer.Personaliser.replaceKerbalSkin (UnityEngine.Component component, .ProtoCrewMember kerbal, .Part inPart, Boolean isAtmSuit) [0x00000] in <filename unknown>:0
at TextureReplacer.Personaliser.replaceKerbalSkins () [0x00000] in <filename unknown>:0
at TextureReplacer.Personaliser.updateScene () [0x00000] in <filename unknown>:0
at TextureReplacer.TextureReplacer.LateUpdate () [0x00000] in <filename unknown>:0
[LOG 20:18:15.289] [TR.TextureReplacer] System.NullReferenceException: Object reference not set to an instance of an object


... et cetera...

I can upload an entire copy of the KSP.log somewhere if you'd like to take a look at it.

Share this post


Link to post
Share on other sites

THANK YOU!

I had a sneaking suspicion it was that. But I really wasn't sure.

Cheers buddy. Saved me a lot of time :)

Share this post


Link to post
Share on other sites
<filename unknown>:0 I would suggest that this is your problem. Start again with a fresh install of TextureReplacer. Then name your textures as required. Then add in groups and test one group at a time.

Yeah, I removed the entire folder for the moment to finish my mission.

Thanks :)

No, just move `Orange/` and `Blue/` folders inside `Suits/`.
You probably have a texture directly in `Suits/` directory, right? Each suit should have its own directory inside `Suits/`.

Ahaha yeah that was my mistake right there, i'll put the mod back in place and fix the folder structure.

Thanks alot ! :)

Man, that's hella gross. There's banding in the textures themselves but not quite to that degree. This COULD be an issue with active texture management poorly optimizing the texture and increasing the obviousness of the bandings. I'd switch that off and see if it helps. If that doesn't work I could suggest resizing the images. I seriously don't think a 6k skybox is necessary. Resizing them to 4096 squared should help slightly with compression, if that's the issue. Also, you could consider lowering the brightness of the textures themselves which might help a little as well.

Thanks for your reply, I'm thinking about either forbidding ATM from optimizing that texture, or i'll try what you recommend: It's a 6kx6kx24bit beast.

Banding is also a bit present with stock texture : 1e2dbd13-96e4-4c43-b0bf-576626995b05.jpg

Maybe I have an issue with global brightness then ? :(

Share this post


Link to post
Share on other sites

I've been having lots of odd issues with the new TextureReplacer system. Textures seem to be showing up in the oddest places!

Take these pictures:

Here's my kerbal in his custom suit.

WfVl84O.png

Unfortunately, the custom textures are on the flag too! I didn't want this!

iq37go9.png

What the? Even the RCS thrusters have the texture?

WqXIb4i.png

I've also experienced difficulty with the no helmets at sea level on Kerbin; rather than not loading the helmet and jetpack, the plugin loads the default ones, while keeping the rest of the custom suit textures intact.

The reflection plugin has baffled me as well.

Could you provide a detailed, step-by-step guide to using the new system? I feel hopelessly confused.

Share this post


Link to post
Share on other sites
As of 1.3.4 I no longer get the proper "personalized" textures for Kerbals in the stock 3-crew command pod (and possibly the other pods - haven't tested). Those that do get their textures replaced end up with the suit from the Default directory. The textures are definitely loading, as they work and assign properly on EVA, but the crews inside the pod with specific suits are all producing the following NREs:


[LOG 20:18:15.200] 04/05/2014 20:18:15,KerbalAlarmClock,Vessel Change from 'No Vessel' to 'Ptolemy 1'
[LOG 20:18:15.225] [TR.TextureReplacer] System.NullReferenceException: Object reference not set to an instance of an object
at TextureReplacer.Personaliser.replaceKerbalSkin (UnityEngine.Component component, .ProtoCrewMember kerbal, .Part inPart, Boolean isAtmSuit) [0x00000] in <filename unknown>:0
at TextureReplacer.Personaliser.replaceKerbalSkins () [0x00000] in <filename unknown>:0
at TextureReplacer.Personaliser.updateScene () [0x00000] in <filename unknown>:0
at TextureReplacer.TextureReplacer.LateUpdate () [0x00000] in <filename unknown>:0
[LOG 20:18:15.264] [TR.TextureReplacer] System.NullReferenceException: Object reference not set to an instance of an object
at TextureReplacer.Personaliser.replaceKerbalSkin (UnityEngine.Component component, .ProtoCrewMember kerbal, .Part inPart, Boolean isAtmSuit) [0x00000] in <filename unknown>:0
at TextureReplacer.Personaliser.replaceKerbalSkins () [0x00000] in <filename unknown>:0
at TextureReplacer.Personaliser.updateScene () [0x00000] in <filename unknown>:0
at TextureReplacer.TextureReplacer.LateUpdate () [0x00000] in <filename unknown>:0
[LOG 20:18:15.289] [TR.TextureReplacer] System.NullReferenceException: Object reference not set to an instance of an object


... et cetera...

I can upload an entire copy of the KSP.log somewhere if you'd like to take a look at it.

I guess you're replacing suits, but no heads? I found that bug, it was added in 1.3.4 together with heads NM code.

Share this post


Link to post
Share on other sites
I've been having lots of odd issues with the new TextureReplacer system. Textures seem to be showing up in the oddest places!

Take these pictures:

Here's my kerbal in his custom suit.

http://i.imgur.com/WfVl84O.png

Unfortunately, the custom textures are on the flag too! I didn't want this!

http://i.imgur.com/iq37go9.png

What the? Even the RCS thrusters have the texture?

http://i.imgur.com/WqXIb4i.png

I've also experienced difficulty with the no helmets at sea level on Kerbin; rather than not loading the helmet and jetpack, the plugin loads the default ones, while keeping the rest of the custom suit textures intact.

The reflection plugin has baffled me as well.

Could you provide a detailed, step-by-step guide to using the new system? I feel hopelessly confused.

That's a bug. I haven't properly fixed hiding of jetpack flags in 0.23.5.

Share this post


Link to post
Share on other sites
I guess you're replacing suits, but no heads? I found that bug, it was added in 1.3.4 together with heads NM code.

It actually happened in both cases, but yes - generally I only replace the suits. Strangely this wasn't an issue with Bill / Bob / Jeb who followed the same logic (but that may have been a fluke).

Share this post


Link to post
Share on other sites

v1.4.0 is available (for testing).

  • There have been some improvements to configuration files. `.cfg` extension is used again as I learned `.tcfg` could conflict with ATM and all TextureReplacer options can now be in any `*.cfg` file having `TextureReplacer {}` as its root section. Files are merged together by alphabetical (or ASCII?) order, later files overriding the earlier ones. The included sample configuration file is `@Default.cfg`, the leading "@" making it first to be processed, so other files can override it.
  • Female-specific heads/suits functionality has been re-added. Look into `@Default.cfg` how to configure it,
  • DLL and `PluginData/` are now inside `Plugins/` directory to conform to the "standards".
  • All issues/crashes reported on this thread for 1.3.4 have been fixed.

Share this post


Link to post
Share on other sites

One question, how do I make those grey looking normal maps in GIMP. I am confused on how to make those.

Share this post


Link to post
Share on other sites
One question, how do I make those grey looking normal maps in GIMP. I am confused on how to make those.

This will help: normalmap

Share this post


Link to post
Share on other sites

Thanks for this update! Fixes all the issues I was having.

  • There have been some improvements to configuration files. `.cfg` extension is used again as I learned `.tcfg` could conflict with ATM and all TextureReplacer options can now be in any `*.cfg` file having `TextureReplacer {}` as its root section. Files are merged together by alphabetical (or ASCII?) order, later files overriding the earlier ones. The included sample configuration file is `@Default.cfg`, the leading "@" making it first to be processed, so other files can override it.
    ...

Tested the merging of config file, and it seems to work perfectly. Makes it easier for me to keep the kerbal-specific textures across updates. Thanks!

Share this post


Link to post
Share on other sites

Love the way config files work now, same reason as Cydonian Monk in that I can create my own cfg for my kerbal setups and maintain it easier between updates.

Any advice to make my visor reflection darker? Not sure which way to tweak the reflection in the config, although I've tried the ones that come with it and the ones that come with the planet texture pack and they both appear darker than mine without needing to tweak anything. This looked the same even after the sun fully set, so it's not that

KSP.exe_DX9_20140406_232047.jpg

map that comes with the plugin - again no changes yet to anything in the cfg:

OenbDE.jpg

Edited by Gaiiden

Share this post


Link to post
Share on other sites
This will help: normalmap

gimp-normalmap just creates "normal" (blue) normal maps. I've been playing with settings but it doesn't produce the grey normal maps. I actually don't know what's the point of the grey normal maps. Is z-axis (blue) not biased by 128 like x and y?

Share this post


Link to post
Share on other sites
gimp-normalmap just creates "normal" (blue) normal maps. I've been playing with settings but it doesn't produce the grey normal maps. I actually don't know what's the point of the grey normal maps. Is z-axis (blue) not biased by 128 like x and y?

Grey are usally "heightmaps" not normal maps. They are then converted to normalmaps by programs like Unity, gimp and PS. Normalmaps are RBG indexed for direction.

Share this post


Link to post
Share on other sites
Grey are usally "heightmaps" not normal maps. They are then converted to normalmaps by programs like Unity, gimp and PS. Normalmaps are RBG indexed for direction.

Proot in his pack is using "grey" normal maps that are obviously usual normal maps with 128 subtracted from the blue component. What is more interesting, some suits even use standard normal maps instead of heightmaps and bumps look just fine. Is this a coincidence or does Unity detect whether a texture is a normal map or a heightmap?

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.