DarthParametric

Modders
  • Content Count

    4,626
  • Joined

  • Last visited

  • Days Won

    523

Everything posted by DarthParametric

  1. As does the vanilla file. The model only contains references, no meshes or animations, so there's no data to put in the MDX.
  2. Took a whole bunch of iterative fiddling with replacement UVs and edited/added meshes, but here's the end result of my first lightmapping test with KBlender:

    https://darthparametric.github.io/KOTOR_Lightmap_Rebakes/stunt_55a.html

    Thanks to @seedhartha for adding that feature to KBlender. Works pretty well once you have everything dialled in.

    This version is for K1CP. Now I just need to make some slight revisions to the version for my Dark Side Ending Cutscene Enhancement mod (mainly just baking shadows for the different stunt crowd).

    1. Malkior

      Malkior

      Do you happen to have a guide on what needs to be dialed where in Blender? I tried baking new lighting into the Citadel Station module, but it never quite worked (Constant infinite loop when I tried to bake). I would love to see what that module could look like in game.

    2. DarthParametric

      DarthParametric

      I might put together a few screenshots of the steps when I set up the next one.

      Interiors are also going to require a lot more work, since you'll need to manually place probably dozens of new lights. Outdoor levels are easy by comparison.

    3. Show next comments  84 more
  3. Looks far too Sith soldier pure chrome to me. And the thing about envmaps is that they vary in effect in every module due to the different lighting.
  4. I would strongly advise you against uploading it to the Workshop, if that is what you are asking.
  5. No, of course not. You use TSLPatcher, same as any other mod. But that has nothing to do with the Workshop. Their setup means that in the case of duplicate files it only uses the most recently installed version.
  6. Something I have encountered with this is that it also affects walkmeshes, nuking whatever their original individual surface type assignments were. If they are not able to be excluded from this process, it might be worth adding a warning about it.
  7. There's nothing you can do to alleviate Workshop compatibility problems. Aspyr's implementation makes it fundamentally incompatible. All you can do is advise people not to use it. If they insist on using it regardless, that's their problem.
  8. Using the Workshop is a very bad idea™. If you must do it, then preferably only use TSLRCM and then manually install any other mods over the top of its Workshop folder. But the Aspyr version isn't worth using at all anyway, since all it really does it add a bunch of extra bugs. If you have multiple different Workshop mods then you are going to run into all sorts of grief. But for the purposes of testing, your 2DA needs to go into the Workshop folder of the most recently installed mod. You can see the mod's ID from its Workshop page URL.
  9. Depends. Are you using the Steam version with Workshop mods installed?
  10. Given the usual quality of said input, he was probably at that stage about a decade ago.
  11. Poorly probably. Odyssey's envmap system is terrible. Things could have been so much better if they had implemented spec maps.
  12. There's zero difference in how both games work in that regard. A model with no appearance texture overrides will display whatever is set in the model. There are no practical limitations beyond one texture per mesh. However, what is specified on the model will be overriden by a racetex in appearance.2da, if one is specified. That's how the vanilla HK models work. It's a single shared model that has three separate race textures. TSL strips textures off the model altogether due to an engine issue with TXI clashes with instanced models. Just change it from this: label race racetex 3 Party_NPC_HK47 P_HK47 P_HK47_01 538 Droid_NPC_hk50 P_HK47 C_HK50 539 Droid_NPC_hk51 P_HK47 C_HK51 to this: label race racetex 3 Party_NPC_HK47 ExSel_HK47 **** 538 Droid_NPC_hk50 ExSel_HK50 **** 539 Droid_NPC_hk51 ExSel_HK51 **** N.B. Extraneous columns omitted for brevity, substitute in your own model names.
  13. You don't need to do that. Just export three separate models, one for 47, one for 50, one for 51. Then remove the racetex from their appearance rows and switch the race to your custom models.
  14. Failing all else, read the manual. Per the readme: SithCodec comes with batch files that are set up with commands for some common operations. decode.bat This file will decode all files located in a folder called "in" (no matter what their format) and save the new files in a folder called "decoded". Put the VO in the IN folder, double click decode.bat, find the converted files in the DECODED folder.
  15. Do you want voice over audio, or dialogue text? The former is in streamwaves for K1 and StreamVoice for TSL, categorised into subfolders first by module and then by a DLG-specific identifier (except for global stuff like Huttese). The audio is stored as MP3, renamed to WAV with a fake WAV header. You want to use SithCodec to convert them to something most audio players will accept. The latter is contained in dialog.tlk for both games, along with all other text in the game. Each DLG will identify a given line by its TLK StrRef.
  16. Obviously the Switch edition of the game doesn't use the same folder/file structure as the PC version. I gather anything beyond the simplest of mods is going to require a separate Switch-specific version. Edit: Ah, here you go. Download and install this first - https://deadlystream.com/files/file/2102-kotor-switch-modding-framework/ - then you should be able to install PC mods correctly. Edit 2: Actually no that just adds empty folders. Mods injecting LIP files don't include the MOD because the PC version of the game has them. Still seems to me like you'd need a custom Switch version of a mod to work 100% correctly. Although note that missing LIPs will just prevent lips flapping during dialogue, it won't actually break anything.
  17. Based on a similar comment you just made on a different mod, I'm guessing you are trying to install this on a non-PC version of the game?
  18. Just gave it a quick test with a save from the previous version and a test bake ran fine after rebuilding. You might want to add a note to the description about the button being in the OdysseyBase's properties. On a different note, how do you get KBlender to load in a layout's diffuse textures and display them in the viewport? Seems that it doesn't use the Textures directory specified in the Blender preferences.
  19. As should be evident from the version number, it will be a new version (1.10.0), not a hotfix to the current version (1.9.x). It's highly unlikely to release this year.
  20. Yeah I was aware of that, although not that it could resize them. Interesting. Something on my end presumably, but I have no idea what. Haven't encountered it with 3.2 yet. I wasn't using that previously because I wasn't aware that KB was compatible with it.
  21. OK 2.93 didn't seem to be doing anything, just stuck there Not Responding with 0 CPU use. I tried 3.2 and that seems to have successfully completed. Not sure if that is anything to do with KB, or just another manifestation of the lockup issues I described with 2.93 in previous posts. Are you able to specify the output resolution of the bakes anywhere? Seems like it is fixed at 512x512?
  22. Ah ok. I tried it with a freshly imported LYT and got this error: Python: Traceback (most recent call last): File "D:\Blender\2.93.9\2.93\scripts\addons\kotorblender\ops\bakelightmaps.py", line 53, in execute bpy.ops.object.bake( File "D:\Blender\2.93.9\2.93\scripts\modules\bpy\ops.py", line 132, in __call__ ret = _op_call(self.idname_py(), None, kw) TypeError: Converting py args to operator properties: : keyword "margin_type" unrecognized location: <unknown location>:-1 Error: Python: Traceback (most recent call last): File "D:\Blender\2.93.9\2.93\scripts\addons\kotorblender\ops\bakelightmaps.py", line 53, in execute bpy.ops.object.bake( File "D:\Blender\2.93.9\2.93\scripts\modules\bpy\ops.py", line 132, in __call__ ret = _op_call(self.idname_py(), None, kw) TypeError: Converting py args to operator properties: : keyword "margin_type" unrecognized location: <unknown location>:-1
  23. So is the "Object '{}' material does not contain diffuse by lightmap node" error complaining about lacking a link to a physical file?
  24. Well it's a good example for why you should always use unique tags, at least for anything plot-critical. There are a few vanilla examples where they have to tie themselves in knots to nail down a specific object like a door because there are half a dozen other objects in the level with the same tag. It's no doubt why functions like GetNearestObjectByTag exist. But then again they do rely on duplicate tags quite a bit to handle things like animating placeables, dealing with trash mobs, etc.