DarthParametric

Modders
  • Content Count

    4,399
  • Joined

  • Last visited

  • Days Won

    492

Everything posted by DarthParametric

  1. In TSL players only use the medium (M) body models. The large (L) and small (S) models are leftovers from K1 where the three starting classes (Soldier, Scout, Scoundrel) each had different heights. As far as the actual body variants go, A is the underwear model, B is the clothes model, C/D/E/F/G/H are the armour models, I/M/N are the robe models, J is the Revan/Star Forge robes model (unused), K is the flight suit model, and L is the female-only dancer outfit model. By default the TSL player rows use the commoner clothing model for the B slot - N_CommM/N_CommF. I would highly suggest that you do not reuse the vanilla names for custom body models. Unless your intention is for everyone to use said model/s. If you replace N_CommF for example, every female NPC in the game wearing clothing will use your model. Also note that textures will require a number in their filename which is linked to the variant in the UTI for the associated clothing/armour/robes. The texture name specified in the appearance.2da slot excludes the numbers. So, for example, the female player B slot model has "N_CommF" in the texb column. If you equipped clothing variant 1, the texture used would be N_CommF01, etc. But note that the texture variant in the UTI doesn't necessarily match the ResRef (filename) of the UTI. For example, g_a_clothes08.uti uses texture variant 7.
  2. An easy trap for new players. While both games share the basic model format, there are differences in the binary file, so they're not cross-compatible without being recompiled for the specific target game. KBlender defaults to K1 being the target output format.
  3. Did you tick the TSL box in the export window in Blender?
  4. You're lacking the other includes. From k_inc_end: #include "k_inc_utility" #include "k_inc_generic" You'll need k_inc_end.nss, k_inc_utility.nss, k_inc_generic.nss, k_inc_gensupport.nss, k_inc_walkways.nss, k_inc_drop.nss. I would suggest you edit your target script to incorporate the include functions directly to avoid a whole bunch of unnecessary crap.
  5. Are you using the TSLPatcher-specific version of nwnnsscomp, or some other version?
  6. The KBlender thread isn't the place for general modelling questions. I''d suggest you search for existing threads for info or create a new thread asking about it. But to answer your specific question, the root (i.e. world zero) of the head model is attached at the headhook in the body model. Adjust your head mesh to match one of the vanilla heads (particularly note the bottom ring of polys/verts on the neck where it will mate with the body).
  7. Whether or not you'd consider it a "tutorial", I think it would be useful for people to demonstrate certain things explicitly (meaning in a video most likely).
  8. This might be of interest. Bioware's reinterpretation of the mask/helmet for their MMO The Old Republic:
  9. It's part of PyKotor - https://github.com/NickHugi/PyKotor
  10. Install the KOTORBlender addon so that you can import MDL files. You can extract models and textures from the game files with a variety of tools, but I'll save you the trouble on this occasion: K1_Revan_Mask_VFX_Models.7z
  11. Seems like it only supports up to OpenGL 1.4 whereas KOTOR uses 1.5 I believe. If you look at the log output there are a ton of functions it doesn't support even just loading into the main menu.
  12. The stunt mask models are v_revmask1_dur/v_revmask2_dur, but basically they are just the mask chopped out of the full Revan model. It has been a while since I looked at the DLG for the cutscene, but possibly one is for the female stunt Revan body and the other for the male body, since one mask is rounder and the other narrower/taller.
  13. Remix is nVidia's program that allows you to inject raytracing and PBR materials into older fixed function pipeline games. Currently it only supports DirectX 8/9, although they have mentioned the possibility of adding OpenGL 1/2 support (which would include KOTOR) at some point in the future. The issue is that I gather they use DXVK as a wrapper, which doesn't support OpenGL, so they'd have to code that themselves. Here's nVidia's video on Remix using Morrowind as an example: Remix is actually in the game's original engine, which is what makes it so interesting. It basically sits between the game and the GPU.
  14. If using KTool then go to Tools -> Options -> Other and tick the box to have it check the Override folder for 2DAs. It will show your custom added row in the drop-down list then (may need to be closed and restarted). If using KGFF, look in the PropertiesList and find the property struct with the PropertyName value of 59 (Disguise property's row ID in itemprops.2da). The Subtype value is the appearance.2da row ID (would be 351 in your pictured example).
  15. You're looking at the unpatched UTI by the looks. If you install the mod, or just look at changes.ini you'll see that it adds a custom appearance row with N_CassusFettB01 as the racetex and patches the UTI to point to that. But yes, your summary at the end there is correct.
  16. The basic approach for a full body appearance like this is to set the UTI up as a disguise. It's the same way the space suit, underwater suit, Sith armour, and Sand People clothing works. In the UTI you add the disguise property, which points to an appearance.2da row ID to use as the appearance. In this particular case, the existing Mando rows are set up to use set "racetex" texture overrides (N_Mandalorian01/02/03), so you'll need to create a new row that duplicates one of the existing ones but points to your own custom racetex variant. Since you've already got a mod that does exactly what you want, the best starting point is to poke under its hood and see how it works.
  17. You don't need to got to the trouble of using TSLPatcher for testing purposes. Create a MOD of the vanilla module (.rim/_s.RIM plus _dlg.erf for TSL) with ERFEdit, copy it into the modules folder, then add your edited UTC/s to the MOD. Remember that once you enter a module for the first time its content is stored in your save file. So typically you'll want a save before entering a module for the first time. That's less relevant if you are spawning creatures via script.
  18. I use TLK2XML in Xoreos Tools personally, and XML2TLK afterwards to turn it back into a TLK. https://github.com/xoreos/xoreos-tools/releases/latest To convert to from TLK to XML use: tlk2xml --kotor tlkname.tlk tlkname.xml And to convert from XML to TLK use: xml2tlk --kotor tlkname.xml tlkname.tlk Unless you renamed it, "tlkname" is presumably going to be "dialog".
  19. Seems like this is due to all of the sound strings being padded out to the same length with spaces. Must be some formatting thing from whatever editor Gimmick used. Seems like the only practical solution to fixing it would be to convert the TLK to XML and then in Notepad++ use RegEx to find and remove the spaces in the sound=" " bits. Edit: Thanks to @Kexikus, you can use the RegEx string (sound="\S*)( +)(") and replace with $1$3 The important thing to note is switching the search mode to Regular Expression down the bottom of the window:
  20. Using Holocron Toolset's GIT editor is the easiest way. Select the game from the drop-down on the main page, switch to the Modules tab, select the appropriate module from the drop-down list, expand Module Data and double click on the GIT to open the GIT Editor. That will give you a top-down view of the module's layout with all the starting objects. But be aware that many encounters are scripted, so certain creatures may not exist on the map by default. It's important to note that you should pretty much never dump edited UTCs (or any other template) in the Override folder, especially for TSL. The only exception is for global templates. This is because TSL is notorious for reusing UTC ResRefs across modules, although even K1 does this to some extent.
  21. That affects all versions of the game when running at unlocked framerates. Cap it to 60fps via your graphics driver control panel.
  22. Well there's your problem. I don't think that exists. The MOTF double saber uses variation 7 not 8.
  23. Hex editing is no longer required. That was only back in the ye olde pre-v1.0 MDLOps days. These days you can decompile the model to ASCII with either MDLEdit or MDLOps, edit the ASCII in a text editor, then recompile. Or with KotorBlender you can just load the binary MDL directly into Blender, edit it in there, and export a new binary model.
  24. I still need to fiddle with the lip sync for the Dantooine Ruins scene, but since that's horribly laborious, I decided to look at some of the other scenes. Here's a first crack at recreating the Star Map visions - albeit without the black spiderwebs/fog effect. It's not exactly 1:1, but close enough. With the animated camera setup done, it should be pretty simple to transfer it to the other three maps to capture their movies, and get the footage for the cross-fade during the revelation scene. Edit: Tweaked the setup a bit after working on the Kashyyyk map. Edit 2: Added the Manaan and Tatooine map sequences. One thing I don't understand is why they are so inconsistent. Some barely show the map opening before they end, others show the later section of the anim where you can actually see the galaxy map. I think it would probably be worth offering alternate versions that follow the Tatooine map's timing. Edit 3: Maybe the timing differences are because they used those same clips to create the Revelations sequence. I personally took a different approach in order to properly sync their animations and get a seamless transition between each shot.