shaw

[1.8.x] TextureReplacer 4.1 (3.1.2020)

Recommended Posts

Hi, thank you for replying.

 

Quote

- vintage suits have to be enabled per-Kerbal. It's a property of ProtoCrewMember (see ROSTER section in peristent.sfs). It would certainly be possible to extend config format to force Kerbals to switch to vintage suit when a vintage suit i selected ... however, how do you know if a texture belongs to a vintage suits? This cannot be derived from texture names most of the time. Maybin adding ".vintage" suffix to directories containing vintage suits?

Yes, this sounds like a good and very user friendly idea to differentiate the suit textures. It would look like this, as I understand it:

 

NewSuitPilot

NewSuitPilot.vintage

NewSuitPilot.future

 

I like it.

 

Quote

- never occurred to me. Could you upload a minimal test case, i.e. contents of TR directory, preferably with as small number of textures and as simple configuration as possible still triggering the issue?

I switched some remaining head textures from PNG to DDS and I can not reproduce the issue anymore at this time. It may be gone, but only occures occasionally. I will report back if this issue show up again.

 

Quote

- does changing reflectionInterval help? (not all reflections are really turned off, only visor reflections)

Yes, the flickering disappeared. So far I can not trigger this bug again with reflectionInterval = 16.

 

Quote

- ok, in the next version

- ok, in the next version

Awesome! Thank you very much for your efforts to keep this mod alive and make it even better. Really appreciate it!

Share this post


Link to post
Share on other sites
On 12/1/2019 at 6:05 PM, Gordon Dry said:

My skybox files are DDS. And they work.

And here I thought DDS doesn't work anymore with KSP 1.8 as per the official announcement, so I proactively converted the files to PNG.

You're right, the original DDS files work just fine.

Edited by VoidSquid

Share this post


Link to post
Share on other sites

@VoidSquid I can't remember that anywhere was something weird like that announced.

But that DDS should be DXT5 now* is what I know.

*when in doubt, some simple textures could still be DXT1

Edited by Gordon Dry

Share this post


Link to post
Share on other sites
5 minutes ago, Gordon Dry said:

I can't remember that anywhere was something weird like that announced.

Here: 

 

"Unity no longer supports DXT3 compressed DDS format"

Obviously our DDS files have already a newer format then.

Edited by VoidSquid

Share this post


Link to post
Share on other sites

@VoidSquid yeah, but you just misinterpreted that.

From level "DXT3 in not supported anymore" you just went straight ahead to next level "DDS at all is not supported anymore".

And I think it's weird to even assume that (level of interpretation) , because DDS is still the state of the art file format for textures.

:sticktongue:

btw read a few lines further and there you find this quote:

Quote

DXT3 DDS formatted textures are not supported by Unity or KSP any more. You must convert to DXT5

 

Share this post


Link to post
Share on other sites
Just now, Gordon Dry said:

but you just misinterpreted that.

Yepp, so I did ;) 

I sit corrected :D 

Share this post


Link to post
Share on other sites

And still, the skybox files I use are not DXT5. They're DXT1.

Only DXT3 is gone...

Share this post


Link to post
Share on other sites
1 hour ago, Gordon Dry said:

And still, the skybox files I use are not DXT5. They're DXT1.

Only DXT3 is gone...

Tbh, I don't care as long as it works :D 

Share this post


Link to post
Share on other sites

Just FYI for anyone who reads the last few posts aboot DDS in KSP 1.8.+, to clarify, DXT1, DXT3, and DXT5 textures have been working in previous versions of Unity/KSP.
With the new version of Unity 2019 that KSP 1.8.0 upgraded to, Unity dropped support of *ONLY* DXT3 format.
Luckily, most mods have been using DXT1 & 5 all along... Its just a few odd mods that had used DXT3 for whatever reason. Those DXT3 textures just need to be converted to DXT1 or 5, and verything should be good to go.

Generally, rule of thumb, is:
1) DXT1 is for simpler textures, that do *not* require an alpha channel, and are *not* normal maps...
2) DXT5 is for moar complex textures that have an alpha channel, as well as DXT5 should be used for normal map textures.

Share this post


Link to post
Share on other sites

 

On 12/3/2019 at 6:22 PM, Stone Blue said:

Just FYI for anyone who reads the last few posts aboot DDS in KSP 1.8.+, to clarify, DXT1, DXT3, and DXT5 textures have been working in previous versions of Unity/KSP.
With the new version of Unity 2019 that KSP 1.8.0 upgraded to, Unity dropped support of *ONLY* DXT3 format.
Luckily, most mods have been using DXT1 & 5 all along... Its just a few odd mods that had used DXT3 for whatever reason. Those DXT3 textures just need to be converted to DXT1 or 5, and verything should be good to go.

Generally, rule of thumb, is:
1) DXT1 is for simpler textures, that do *not* require an alpha channel, and are *not* normal maps...
2) DXT5 is for moar complex textures that have an alpha channel, as well as DXT5 should be used for normal map textures.

What about reflections and shaders with textures with 1.8 / Unity 2019 ? Is this an issue ?

Edited by DarkNounours

Share this post


Link to post
Share on other sites

There've been quite a lot of changes and code refactoring, so probably a lot of new bugs. Feel free to test it and report issues.

TextureReplacer.dll

- update for KSP 1.8.x
- add support for "future" (Breaking Ground) suits
- add suit directory suffixes: directories containing vintage or future suits must have ".vintage" or ".future" suffix, respectively
- re-add normal map support for heads
- fix default vintage IVA suits
- fix default texture fallbacks on models with vintage suits
- code cleanup and reorganisation

Share this post


Link to post
Share on other sites

@shaw first sight:

NullReferenceException: Object reference not set to an instance of an object
  at TextureReplacer.Mapper.FillDefaultKerbals () [0x00061] in <6a88970b81024076b5a9f221f2b556aa>:0 
  at TextureReplacer.Mapper.Load () [0x00006] in <6a88970b81024076b5a9f221f2b556aa>:0 
  at TextureReplacer.TRActivator.Load () [0x000b1] in <6a88970b81024076b5a9f221f2b556aa>:0 
  at TextureReplacer.TRActivator.Start () [0x00013] in <6a88970b81024076b5a9f221f2b556aa>:0 
UnityEngine.DebugLogHandler:Internal_LogException(Exception, Object)
UnityEngine.DebugLogHandler:LogException(Exception, Object)
ModuleManager.UnityLogHandle.InterceptLogHandler:LogException(Exception, Object)
UnityEngine.Logger:LogException(Exception, Object)
UnityEngine.Debug:CallOverridenDebugHandler(Exception, Object)
 

happened after loading an unmanned vessel on launch pad.
I use custom skybox files. DXT1. Worked before without this specific exception.

Share this post


Link to post
Share on other sites
4 minutes ago, Gordon Dry said:

@shaw first sight:


NullReferenceException: Object reference not set to an instance of an object
  at TextureReplacer.Mapper.FillDefaultKerbals () [0x00061] in <6a88970b81024076b5a9f221f2b556aa>:0 
  at TextureReplacer.Mapper.Load () [0x00006] in <6a88970b81024076b5a9f221f2b556aa>:0 
  at TextureReplacer.TRActivator.Load () [0x000b1] in <6a88970b81024076b5a9f221f2b556aa>:0 
  at TextureReplacer.TRActivator.Start () [0x00013] in <6a88970b81024076b5a9f221f2b556aa>:0 
UnityEngine.DebugLogHandler:Internal_LogException(Exception, Object)
UnityEngine.DebugLogHandler:LogException(Exception, Object)
ModuleManager.UnityLogHandle.InterceptLogHandler:LogException(Exception, Object)
UnityEngine.Logger:LogException(Exception, Object)
UnityEngine.Debug:CallOverridenDebugHandler(Exception, Object)
 

happened after loading an unmanned vessel on launch pad.
I use custom skybox files. DXT1. Worked before without this specific exception.

You probably don't have Making History or Breaking Ground, right?  I forgot to add a check if kerbal models from these DLC are missing.

Share this post


Link to post
Share on other sites

Another update:

TextureReplacer.dll

  • update for KSP 1.8.x
  • add support for "future" (Breaking Ground) suits
  • add suit directory suffixes: directories containing vintage or future suits must have ".vintage" or ".future" suffix, respectively
  • rename `hideParachuteBackpack` setting to `hideBackpack` as it hides both parachute and cargo backpacks now
  • re-add normal map support for heads
  • fix default vintage IVA suits
  • fix default texture fallbacks on models with vintage suits
  • code cleanup and reorganisation

Share this post


Link to post
Share on other sites

I have tested the new DLL for a little bit and I noticed some serious issues unfortunately. The suit fixes do not seem to work. Sorry for my english, I hope I can explain things clearly enough.

 

- With defined class suits, vintage and future suits still get the default suit texture assigned, even with the correct folders and textures in place. Maybe I am not understanding the system correctly?

 

This is the corresponding part from my config:

ClassSuits
{

Pilot = Neo_Suit_Pilot_KSP15
Engineer = Neo_Suit_Engi_KSP15
Scientist = Neo_Suit_Sci_KSP15
Tourist = Neo_Suit_Tourist_KSP15
}

 

And these are the folders with my new suit textures:

Neo_Suit_Pilot_KSP15

Neo_Suit_Pilot_KSP15.vintage

Neo_Suit_Pilot_KSP15.future

Neo_Suit_Engi_KSP15

Neo_Suit_Engi_KSP15.vintage

Neo_Suit_Engi_KSP15.future

Neo_Suit_Sci_KSP15

Neo_Suit_Sci_KSP15.vintage

Neo_Suit_Sci_KSP15.future

Neo_Suit_Tourist_KSP15

 

The default suits are working normally and the new class textures and ranks are correctly applied for them. Only vintage and future suits are still not functional and suffer from the old texture bug. But that is not all, there is even a completely new and very strange bug with DLC suits...

 

 

- Every Kerbal wich is useing a vintage or future suit and is going on EVA, is suddenly wearing the default suit (not only the textures, but the entire suit changes to default). Getting back into the capsule leaves the default suit active and the vintage or future suit is still gone. Actually, everyone in the command pod change their suit to the default suit after that.

 

 

- There is no support to replace „EVAjetpackEmmisive“ for suits. It not even works in the default directory as universal replacement.

 

 

- Not all textures in the default directory get replaced. One example are the engine emissive glow textures from the recent near future, cryo engines and restock mods. Albedo texture replacements work, but no emissive textures (maybe the same reason, why EVAjetpackEmmisive is not working). They only work if I replace the original texture in the mod itself, but not with Texture Replacer.

 

 

- The default kerbal head texture is not supporting a normal map (to make real looking teeth for example). Kerbal mouth and teeth are using the default kerbal male head texture, as far as I know. This worked in the deprecated Texture Replacer Replaced. Would be cool if this can be added/fixed here as well.

 

 

Thank you for your continued support. I tried to describe the problems as good as I can and hope it helps a little. Thank you for your work.

 

 

Share this post


Link to post
Share on other sites
3 hours ago, Neo23 said:

I have tested the new DLL for a little bit and I noticed some serious issues unfortunately. The suit fixes do not seem to work. Sorry for my english, I hope I can explain things clearly enough.

 

- With defined class suits, vintage and future suits still get the default suit texture assigned, even with the correct folders and textures in place. Maybe I am not understanding the system correctly?

 

This is the corresponding part from my config:

ClassSuits
{

Pilot = Neo_Suit_Pilot_KSP15
Engineer = Neo_Suit_Engi_KSP15
Scientist = Neo_Suit_Sci_KSP15
Tourist = Neo_Suit_Tourist_KSP15
}

 

And these are the folders with my new suit textures:

Neo_Suit_Pilot_KSP15

Neo_Suit_Pilot_KSP15.vintage

Neo_Suit_Pilot_KSP15.future

Neo_Suit_Engi_KSP15

Neo_Suit_Engi_KSP15.vintage

Neo_Suit_Engi_KSP15.future

Neo_Suit_Sci_KSP15

Neo_Suit_Sci_KSP15.vintage

Neo_Suit_Sci_KSP15.future

Neo_Suit_Tourist_KSP15

 

The default suits are working normally and the new class textures and ranks are correctly applied for them. Only vintage and future suits are still not functional and suffer from the old texture bug. But that is not all, there is even a completely new and very strange bug with DLC suits...

 

 

- Every Kerbal wich is useing a vintage or future suit and is going on EVA, is suddenly wearing the default suit (not only the textures, but the entire suit changes to default). Getting back into the capsule leaves the default suit active and the vintage or future suit is still gone. Actually, everyone in the command pod change their suit to the default suit after that.

 

 

- There is no support to replace „EVAjetpackEmmisive“ for suits. It not even works in the default directory as universal replacement.

 

 

- Not all textures in the default directory get replaced. One example are the engine emissive glow textures from the recent near future, cryo engines and restock mods. Albedo texture replacements work, but no emissive textures (maybe the same reason, why EVAjetpackEmmisive is not working). They only work if I replace the original texture in the mod itself, but not with Texture Replacer.

 

 

- The default kerbal head texture is not supporting a normal map (to make real looking teeth for example). Kerbal mouth and teeth are using the default kerbal male head texture, as far as I know. This worked in the deprecated Texture Replacer Replaced. Would be cool if this can be added/fixed here as well.

 

 

Thank you for your continued support. I tried to describe the problems as good as I can and hope it helps a little. Thank you for your work.

 

 

  • Some settings from config files are only applied to the newly created games. Use GUI in Space Centre screen to change per-Kerbal and class suit assignments in existing scenarios.
  • Looks like TR is crashing during personalisation. It would be great if I could reproduce this bug. Could you upload a minimal test case to trigger it? I.e. contents of TR folder (suits, skins and configuration), logs would also be appreciated.
  • I wasn't aware of EVAjetpackEmissive texture. I could try to implement that.
  • TR doesn't perform any emissive texture replacements. Only diffuse (albedo) and normal maps. I can look into it if it can be implemented.
  • I actually didn't test head normal maps, so it's no surprise if they don't work correctly. What you're describing also worked in TR ... once.

Share this post


Link to post
Share on other sites
Quote

Some settings from config files are only applied to the newly created games. Use GUI in Space Centre screen to change per-Kerbal and class suit assignments in existing scenarios.

Yes, every test was executed in a new game, I had a feeling this might be the case.

I had hoped everything would be fully automatic now, like the default suits. Manually changing the suits worked all the time, but in a big career game it is not easy to keep track of every kerbal and I normally choose kerbals and suits in the VAB directly before launch. So I misunderstood the new implementation or made my feature request not clear enough.

 

Quote

Looks like TR is crashing during personalisation. It would be great if I could reproduce this bug. Could you upload a minimal test case to trigger it? I.e. contents of TR folder (suits, skins and configuration), logs would also be appreciated.

I am a very shy person and only on very rare occasions I am registering to something. So I have no account to upload files.

This is the content of my config file:

TextureReplacer
{
  reflectionType = none

  reflectionResolution = 128

  reflectionInterval = 16

  isVisorReflectionEnabled = false

  visorReflectionColour = 0.7 0.7 0.7

  hideParachuteBackpack = true

  CustomKerbals
  {
    Jebediah Kerman  = Male/NMh_MaleHead5
    Bill Kerman      = Male/NMh_MaleHead10
    Bob Kerman       = Male/NMh_MaleHead24
    Valentina Kerman = Female/N_HeadFemale9
  }

  ClassSuits
  {
       Pilot     = Neo_Suit_Pilot_KSP15
       Engineer  = Neo_Suit_Ingenieur_KSP15
       Scientist = Neo_Suit_Wissensch_KSP15
       Tourist   = Neo_Suit_Tourist_KSP15
  }
}

I have a minimal test setup running with a complete set of suit replacements for the default suits. Vintage and future suits are only slight recolored original files for now to test things before I make real ones. I watched my KSP-Log from starting the game to the end of testing (closed and reopened the file every time of course). My typical test steps:

 

1. Started the game and checked the log at the main menu.

2. Started a new game and checked the log at the space center.

3. Got into the VAB and filled a normal 3 person command pod with 3 pilots. Switched the suits for two of them. The second one to vintage suit and the last to a future suit. Checked the log file.

4. Launched the command pod with 3 Kerbals and all of the suits and checked the log on the launch pad.

5. EVA the Kerbal outfitted with the vintage suit. Suits change suddenly to default ones. I checked the log file once more.

 

No errors or exceptions occured in the entire testing process. This bug only happens with your new DLL's and is 100% reproducible for me. The normal TR 3.7 DLL is fine and switching back to it made this bug go away immediately. I am sorry if this is not so much helpful.

 

Quote

I wasn't aware of EVAjetpackEmissive texture. I could try to implement that.

TR doesn't perform any emissive texture replacements. Only diffuse (albedo) and normal maps. I can look into it if it can be implemented.

I actually didn't test head normal maps, so it's no surprise if they don't work correctly. What you're describing also worked in TR ... once.

This would be really nice.

Share this post


Link to post
Share on other sites

Issues with shaders and visors are still present -> need to apply fixes as per 

 

Share this post


Link to post
Share on other sites

someone PLEASE point me to an example of a skybox cfg file (not @Default.cfg) also green skull's instructions zip is empty

also i installed by CKAN - before most recent update the skybox worked fine by just chucking it in Default but now doesnt load, also all kerbals are set to male10 or female10 how to re enable head randomization?

Edited by Autolyzed Yeast Extract

Share this post


Link to post
Share on other sites
On 12/21/2019 at 1:20 PM, VoidSquid said:

Issues with shaders and visors are still present -> need to apply fixes as per 

 

Do you use Windows + OpenGL? Try these shaders. If they don't work, I'm out of ideas how to build Windows OpenGL shaders in Unity.

8 hours ago, Autolyzed Yeast Extract said:

someone PLEASE point me to an example of a skybox cfg file (not @Default.cfg) also green skull's instructions zip is empty

also i installed by CKAN - before most recent update the skybox worked fine by just chucking it in Default but now doesnt load, also all kerbals are set to male10 or female10 how to re enable head randomization?

There is no config file for skybox. And it works just fine, probably you don't have it in the correct directory or textures are not named correctly.

Set head to Generic/Unset in GUI to use randomisation.

Share this post


Link to post
Share on other sites
42 minutes ago, shaw said:

Do you use Windows + OpenGL?

Nope, Windows + DX11

Don't worry too much, with the shaders plus the visiors I mentioned, everything looks perfect :) 

I'm more than happy this way.

Edited by VoidSquid

Share this post


Link to post
Share on other sites

I just updated from TR 3.7 to TR 4.0. I'm using KSP 1.8.1 and Astronomer's Visual Pack v3.83. With 3.7 the skybox was appearing as intended. After upgrading* to 4.0 I can confirm @Autolyzed Yeast Extract's issue that the skybox (dds-files, don't ask me which kind, the one in AVP...) is not loading anymore. I tried moving the skybox files from GameData\AstronomersVisualPack\TextureReplacer\Default to \GameData\TextureReplacer\Default, but it didn't change anything. It seems to my that TR 4.0 is no longer accepting/using dds files even when they are in DXT1 or DXT5.

I know it has been discussed before on this page. But the posts are from before the last patch date (17.12.2019), so I thought I just point out that it is still not working ;-)

 

* (deleting old files instead of just replacing them)

Edited by caipi

Share this post


Link to post
Share on other sites

@caipi what installation of AVP are you using? I just unpacked 2K textures from AVP to my GameData and it worked. Installation via CKAN also works for me.

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.