-
Content Count
4,710 -
Joined
-
Last visited
-
Days Won
537
Content Type
Profiles
Forums
Blogs
Forum & Tracker Requests
Downloads
Gallery
Store
Calendar
Everything posted by DarthParametric
-
All the "ModelX" columns get replaced with PFBL - modela, modelb, modelc, modeld, modele, modelf, modelg, modelh, modeli, modelj All the "TexX" columns get replaced with PFBSelven - texa, texb, texc, texd, texe, texf, texg, texh, texi, texj The "TexAEvil" column is a special case for Dark Side underwear, you can star that out - **** - for non-player appearance rows.
-
Requesting Some Decompiled Scripts Please
DarthParametric replied to CarthOnasty's topic in General Kotor/TSL Modding
The key with DeNCS is using the correct game nwscript.nss. K1_tar_m03ad_holo_scripts.7z -
If you want to do a simple head swap/custom appearance, that's pretty straightforward. You're already most of the way there. You've got your custom model and custom texture. The rest is just extracting a few source files and a bit of TSLPatcher config. Here: https://www.darthparametric.com/files/kotor/k1/[K1]_Selven_Custom_Appearance_ebmar.7z Note that I have included the placeholder head texture I gave you previously, so make sure you overwrite that with your new version before installing. The steps involved to create such a setup: Extract source files using KOTORTool - heads.2da, appearance.2da, tar03_selven031.utc from tar_m03ab, PFBF04.tga (checking that it does not require a TXI, which this doesn't) Use Convert2DA to convert both the 2DAs to tab delimited text files so they can be easily edited in Excel, etc. Create a custom heads.2da with an added row for the Selven head model. This is extremely simple in this case. Just copy one of the existing NPC rows and paste it at the end, then change the row ID and head cells to "107" and "pfhebmar". Save as a tab-delimited text file. Create a custom appearance.2da with an added row for the Selven body. For this you can just copy an existing female player row and paste it at the end. I choose one of the "large" ones. Using that as your starting point, edit the values as appropriate. Give it a new row ID (509), new custom label (Ebmar_Taris_Selven), then change all the model and texture values to PFBFL and PFBSelven. Everything else can remain unchanged. Save as a tab-delimited text file. Note that we are specifying a custom body texture here in order to override whatever armour variation she may actually have equipped in the UTC, to side-step any custom textures the end-user may be using, and to allow for your own custom texture edit, if required. Use Convert2DA to convert your two text files to 2DAs. Create a mod folder with the appropriate structure. I like a "working" folder where I keep all the source files, and a "release" folder where I put the TSLPatcher setup. Create a release folder with a "tslpatchdata" sub-folder. Copy across the vanilla heads.2da and appearance.2da, head model MDL/MDX, head texture, body texture (rename PFBF04.tga to PFBSelven01.tga), and UTC. Create an "info.rtf" file. This has the text that the installer will show, so add info and instructions as appropriate. Get the TSLPatcher files. Copy across TSLPatcher.exe one level above the tslpatchdata folder. Run ChangeEdit.exe and go to File -> New. Choose the tslpatchdata folder you created and save changes.ini Now you can create your config. Under Settings, set the Window Caption to the mod's name (I used [K1] Selven Custom Appearance) and hit the Save Changes button down the bottom. You'll always need to come back here to save any additional changes you make. In the top Modifiers menu, choose Add 2DA File. In the popup, write heads.2da in the filename field and hit ok. Repeat and add appearance.2da. N.B. It is important that you add heads.2da first, due to the required order of operations. Now under 2DA Files you should see both heads.2da and appearance.2da listed. Select heads.2da Select the middle of the three buttons on the top right to compare two 2DA files. Choose the vanilla heads.2da when it asks for the original, and your custom heads.2da when it asks for the modified one. It will compare the two files and determine what you added. In this case, you should see AddRow0. Double click on that to open the editor. You will see there is a description explaining what you need to do next. Namely, in the Set Column Value section, for Column write 2DAMEMORY1 and for Value write RowIndex. Then hit the red arrow pointing right to add it. You can then close that editor. What you have done is added a "memory token". In this case, you are telling TSLPatcher to remember the index (i.e. ID number) of the new row it is adding to heads.2da which we'll need in the next step. Open the editor for appearance.2da. As before, add a new 2DAMEMORY token for RowIndex, except this time you'll want to increment the number (i.e. 2DAMEMORY2). Now TSLPatcher is storing two values, the row indexes for both 2DAs. On the right, double click on "normalhead" to make it editable. Change the Value to 2DAMEMORY1, then click the right facing red arrow to make the change. Close that editor. This is using the stored heads.2da row index memory token to set the proper head value in appearance.2da. This sort of thing is the primary strength of TSLPatcher, as it can dynamically account for people's custom pre-existing 2DAs that may have any number of additional rows. In the top Modifiers menu, choose Add GFF File and put tar03_selven031.utc in the filename field. Under the GFF Files section you will see your UTC, select it. Down the bottom tick the Replace File If It Already Exists, leave the destination as Override, and click the Set button. In the Modify Field Value section, click the little folder icon to the right to load the UTC. You'll see the GFF Field box turns green. From the drop down menu select Appearance_Type. Change the Value field to 2DAMEMORY2 and then click the upwards pointing red arrow to set the change. This will edit the UTC to add the row index of your custom appearance.2da row. Now go to the Install Files section. Click on the Add Multiple Files button next to the red arrows. For the folder name use Override and tick the Replace Existing checkbox. Select your model and TGAs. N.B. Very important! DO NOT add the 2DAs or UTC. This is a common rookie mistake. It will be automatically handled by TSLPatcher. Now go back to Settings and click Save Changes. You should be done and can close ChangeEdit. Run your TSLPatcher to test your install setup and make sure everything works in-game. Edit: Before and after pics (obviously without the custom head texture) If you want to go to full on quest editing/creation, that's going to add a reasonable degree of extra difficulty. You'll need to edit/create scripts and dialogue, possibly you'll want additional NPCs, etc. You are almost certainly talking about edits across two or more modules.
-
Yeah, shows new mods being posted. Shows pretty much everything as far as I can tell. Also auto-updates, so you can just leave it open in a tab if you are that keen.
-
SWTOR-Style Zakuulan Exile's Blaster
DarthParametric replied to DarthParametric's topic in Work In Progress
Cheers. And yeah, swapping them like you say is probably the best course of action. I'll see what the sound like in the game. -
The Father of The Revanchists
DarthParametric commented on ebmar's gallery image in Screen of The Week
-
The activity page has an option for a condensed version. Perhaps that could also be applied to the sidebar?
-
The Father of The Revanchists
DarthParametric commented on ebmar's gallery image in Screen of The Week
-
The Father of The Revanchists
DarthParametric commented on ebmar's gallery image in Screen of The Week
-
The Father of The Revanchists
DarthParametric commented on ebmar's gallery image in Screen of The Week
-
You need to enable the bumpmappable/tangentspace flag when compiling the model, then specify the normal/bump map in TXI of the diffuse map. Creating the map itself is done in the standard manner for any game engine, but as @ndix UR pointed out above, normal maps need to be converted to a RGBA TPC in order to work. TGAs will cause the game to hang/crash. There will be more detailed, step-by-step information available once @Tyvokka implements the wiki.
-
The fake WAVs aren't mono though. It would be interesting to see - for experimental purposes if nothing else - whether simply adding the fake WAV header to a stereo MP3 is sufficient, or whether there is indeed some other processing they did via Miles K1 is mostly all the same, although they do have some that go the other way - WAVs with fake MP3 headers (e.g. al_xxxx). TSL though has a few different variations (based on Obsidian using at least two different encoders, from what I can glean).
-
The originals are just MP3 with a fake 199 58 byte WAV header. I wonder what would happen if you added that to your files? Do you have a sample MP3 that we can try it with? Or presumably you can just hex edit one/some yourself. Edit: Doing some tests, it's pretty easy to set up batch processing, assuming it works. You can just export the first 199 58 bytes from the header of an existing WAV from a hex editor and then create a batch file: @echo off for %%F in (*.mp3) do copy /b "header.bin" + "%%~nF.mp3" "%%~nF.wav" pause Edit 2: Actually, comparing to other MP3s, it looks like the fake header is only 58 bytes. I was going too far into actual relevant MP3 header data. Trimming 199 would allow it to play in Wnamp, etc. but I don't know how the game would react.
-
Simple environment retexture help
DarthParametric replied to sillysaxon's topic in General Kotor/TSL Modding
Looks like the primary ground texture is LTA_wall00 with darker edge/corner areas using LTA_wall00a . As the name suggests, these textures are likely used elsewhere for wall textures, so replacing them outright is probably not the best idea. The easiest way to check what textures are being used and how retextures will look is to extract the room models and load the entire module into Max/GMax (I'm not sure if Blender's script has a module loading capability as yet). -
Can you get it here? https://deadlystream.com/store/category/5-modders-account/
-
Yeah I think it is far more logical dealing with the ASCII: newanim default w_LaserFire_R length 0.0 transtime 0.0 animroot w_LaserFire_R node dummy w_LaserFire_R parent NULL endnode node dummy AuroraLight01 parent w_LaserFire_R colorkey 0.0 0.0 0.0 0.0 endlist endnode node dummy zap parent w_LaserFire_R birthratekey 0.0 0.0 endlist endnode doneanim default w_LaserFire_R newanim travel01 w_LaserFire_R length 3.93333 transtime 0.0 animroot w_LaserFire_R event 0 detonate node dummy w_LaserFire_R parent NULL endnode node dummy AuroraLight01 parent w_LaserFire_R colorkey 0.0 1.0 0.0 0.0 0.0333333 1.0 0.0 0.0 0.166667 1.0 0.0 0.0 0.333333 0.0 0.0 0.0 0.466667 0.0 0.0 0.0 0.5 0.0 0.0 0.0 endlist endnode node dummy zap parent w_LaserFire_R birthratekey 0.0 2.0 endlist endnode doneanim travel01 w_LaserFire_R Although this particular one is pretty simple given that the light is a straight red and either on or off. If you wanted different colours though, like say orange or purple, you'd have to convert the RGB to [0,1]. For example an orange of 255,120,0 would be 1.0 0.47 0.0 or thereabouts.
-
No I was referring @ariankoochesfahani . If Blender is currently not possible due to its emitter issues, and GMax is not possible for some other reason, then editing the ASCII directly is likely better than trying to do it in MDLEdit, given you will need to edit the animations if you want to change the light colour.
-
[K1] Selven 'Unique Appearance'
DarthParametric replied to ebmar's topic in General Kotor/TSL Modding
Like I said, you don't have to create it from scratch, you just use a modified copy of the original. Here: https://www.darthparametric.com/files/kotor/k1/[K1]_PFHA03_ebmar.7z Here's the vanilla head model, along with an edited copy with a unique filename and unique texture name. I've included the ASCII (decompiled) models so you can see what was changed, and in case you want to make further changes yourself, as well as the supermodel if you make changes and recompile. You can use MDLEdit to do so.- 8 replies
-
- 1
-
-
- appearance
- selven
-
(and 2 more)
Tagged with:
-
[K1] Selven 'Unique Appearance'
DarthParametric replied to ebmar's topic in General Kotor/TSL Modding
You can use that head. If you want to use it straight vanilla, just set the normalhead value in the added appearance.2da row to whatever the heads.2da row ID is for that head. If you want to use a custom head texture, you'll need to create a custom named copy of that model and point it to your new texture. It's a fairly painless procedure. Then you add that to heads.2da and set the normalhead value to that.- 8 replies
-
- 1
-
-
- appearance
- selven
-
(and 2 more)
Tagged with:
-
[K1] Selven 'Unique Appearance'
DarthParametric replied to ebmar's topic in General Kotor/TSL Modding
In K1 in order to use a custom head texture you must create a new model for it, unlike in TSL where you can just specify a texture override in heads.2da. So even if you don't want a physically different mesh, you still need a custom model that points to your new texture. For appearance.2da you can control what body models are used, so even if you don't want actual custom meshes/textures,. you can still have the appearance use any body model you want, regardless of what equipment they are actually wearing. For example you could equip them with heavy armour, but have their appearance be a Jedi robe. As to the UTC, that's the simplest part. You just find the UTC in the appropriate module in KTool, and, assuming your edited 2DAs are in the Override folder so KTool can see them, open the UTC in KTool's editor and choose the new appearance from a drop-down menu, then save it. In the case of K1, you can typically just put the loose UTC in the Override folder, because they gave them all unique names. Unlike in TSL, where they use generic UTC names that cause clashes between modules and thus must be packed into MODs. Of course if you want to publicly release something, you'll need to create a TSLPatcher setup that will dynamically create and inject your changes to any pre-existing files if necessary, rather than just dumping pre-edited stuff in the Override.- 8 replies
-
- 1
-
-
- appearance
- selven
-
(and 2 more)
Tagged with: