-
Content Count
4,745 -
Joined
-
Last visited
-
Days Won
539
Content Type
Profiles
Forums
Blogs
Forum & Tracker Requests
Downloads
Gallery
Store
Calendar
Everything posted by DarthParametric
-
TOOL:KotorBlender for Blender 3.6 and 4.2
DarthParametric replied to seedhartha's topic in Mod Releases
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.- 121 replies
-
HK-47 Overhaul Mod, TSL Conversion?
DarthParametric replied to Natural Law's topic in Work In Progress
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. -
HK-47 Overhaul Mod, TSL Conversion?
DarthParametric replied to Natural Law's topic in Work In Progress
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. -
HK-47 Overhaul Mod, TSL Conversion?
DarthParametric replied to Natural Law's topic in Work In Progress
Depends. Are you using the Steam version with Workshop mods installed? -
Given the usual quality of said input, he was probably at that stage about a decade ago.
- 565 replies
-
- 10
-
-
HK-47 Overhaul Mod, TSL Conversion?
DarthParametric replied to Natural Law's topic in Work In Progress
Poorly probably. Odyssey's envmap system is terrible. Things could have been so much better if they had implemented spec maps. -
HK-47 Overhaul Mod, TSL Conversion?
DarthParametric replied to Natural Law's topic in Work In Progress
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. -
HK-47 Overhaul Mod, TSL Conversion?
DarthParametric replied to Natural Law's topic in Work In Progress
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. -
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.
-
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.
-
All Hands on Deck for the Leviathan Prison Break
DarthParametric commented on DarthParametric's file in Mods
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. -
All Hands on Deck for the Leviathan Prison Break
DarthParametric commented on DarthParametric's file in Mods
-
TOOL:KotorBlender for Blender 3.6 and 4.2
DarthParametric replied to seedhartha's topic in Mod Releases
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.- 121 replies
-
- 305 comments
-
- 1
-
-
- patch
- compilation
-
(and 4 more)
Tagged with:
-
TOOL:KotorBlender for Blender 3.6 and 4.2
DarthParametric replied to seedhartha's topic in Mod Releases
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.- 121 replies
-
TOOL:KotorBlender for Blender 3.6 and 4.2
DarthParametric replied to seedhartha's topic in Mod Releases
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?- 121 replies
-
TOOL:KotorBlender for Blender 3.6 and 4.2
DarthParametric replied to seedhartha's topic in Mod Releases
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- 121 replies
-
TOOL:KotorBlender for Blender 3.6 and 4.2
DarthParametric replied to seedhartha's topic in Mod Releases
So is the "Object '{}' material does not contain diffuse by lightmap node" error complaining about lacking a link to a physical file?- 121 replies
-
[KotOR] GetObjectByTag() & objects population
DarthParametric replied to Salk's topic in General Kotor/TSL Modding
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. -
[KotOR] GetObjectByTag() & objects population
DarthParametric replied to Salk's topic in General Kotor/TSL Modding
I would imagine the first time in a module should be the spawn order, subsequent visits should be based on the stored GIT order. Edit: That was kind of poorly worded. It's still spawn order in both cases, it's just that the starting module GIT ordering is not retained in the game save GIT. So the real question is "how does the engine decide the struct order when creating a GIT?". -
TOOL:KotorBlender for Blender 3.6 and 4.2
DarthParametric replied to seedhartha's topic in Mod Releases
Nah, as I said a few posts back, new UVs aren't practical. The original script does actually auto-UV if the mesh lacks a second UV set, but I stripped that out. I could create new atlas'd UVs far more easily in Max if it came to that. So batch baking was all I was interested in. After playing around with the script a bit, one thing I discovered is that the baked maps are very washed out. Seems like it applies a pure white material to the mesh first, which is screwing with things.- 121 replies
-
TOOL:KotorBlender for Blender 3.6 and 4.2
DarthParametric replied to seedhartha's topic in Mod Releases
The problem with KMax is that OdysseyLight radii are all ginormous, so if you try using those you typically just end up with overblown whiteout. My understanding was that KBlender had addressed this, so I was hoping that it would allow for less work. Of course in a lot of cases - like pretty much every single interior module - there's really no option but to create all new lights from scratch, since the in-game lights don't match the baked lighting. If I am forced to go that route then yeah I'll just do it in Max. See for example some of my Ebon Hawk lightmapping experiments. But I thought maybe exterior modules might be doable in KBlender. But not if you can't easily batch bake the maps. Edit: Interesting. I found a batch baking script that sort of works, after a bit of editing on my part. The only problem is that it seems to regularly cause Blender to eventually lock up and become unresponsive at some random point in the process, although I did manage to get it to successfully complete a full run through a level of around 60 meshes twice. Original script here. Modified script: blender-bake-lightmaps.py Not sure if that is of any interest to you @seedhartha. Edit 2: Seems the lockup problems aren't the script, it's Blender not liking something about my system.- 121 replies
-
TOOL:KotorBlender for Blender 3.6 and 4.2
DarthParametric replied to seedhartha's topic in Mod Releases
It's a gazillion times easier than Blender's approach to things certainly, but the results aren't exactly stellar. I've discussed the issues with KMax's OdysseyLight implementation with seedhartha previously and I was lead to believe that KBlender deals with them differently. I figured there was no harm (except loss of sanity points) in seeing what sort of lightmaps Blender could spit out.- 121 replies
-
TOOL:KotorBlender for Blender 3.6 and 4.2
DarthParametric replied to seedhartha's topic in Mod Releases
Is that a limitation of Blender or just because of dealing with Odyssey models? I stumbled across this - https://github.com/Naxela/The_Lightmapper - although it seems heavily focused on creating lightmap UVs, which isn't my primary concern. As terrible as the vanilla lightmap UVs are, I'd prefer not to have to replace hundreds of room models.- 121 replies
-
TOOL:KotorBlender for Blender 3.6 and 4.2
DarthParametric replied to seedhartha's topic in Mod Releases
Is there a way to batch lightmap an entire level in one go? The described process of doing each individual mesh one at a time is not particularly practical given the sheer volume of meshes in an average level.- 121 replies
