Leaderboard
Popular Content
Showing content with the highest reputation on 06/09/2018 in Posts
-
2 pointsI'd say you have some model issues there. 40K polys seems a tad excessive. I'm not sure exactly what is going on, but decompiling the binary gives an ASCII of 6.6MB vs 2.5MB for the original. The poly/vert/edge counts seem to be the same, so maybe it is blowing out tex vert number or something. The new ASCII is 215K lines vs 75K for the original. Your keys are bezier, which may be the source of the animation problem. Try converting them to linear before exporting. I thought @bead-v had added some toggle or global switch for that after I complained about it. Edit: Ah, there's a toggle in MDLEdit. In the settings, convert bezier controllers to linear.
-
1 pointView File JC's Blaster Visual Effects for K1 This mod changes the visual effects for all the laser blasts in the game. Energy blasters, ion blasters, disruptors, bowcasters - I've replaced them all. Except sonic, because really, sonic? In general, I've added more detail and made them match what's depicted on film as best as I could, when there was a visual reference. I took screenshots of the movies and got out my eyedropper tool and everything. The cores of the lasers are brighter so they look more like lasers, instead of having the whole thing as one flat color. I also messed around with light objects so each laser will illuminate surrounding objects in the appropriate color. For disruptors, I've included three color options: white, green, and yellow. The default install is white, like the original, and the other two are included as optional things. Submitter JCarter426 Submitted 06/04/2018 Category Mods K1R Compatible No
-
1 point///// 00. Disclaimer ///// I haven't given up on Star Map Revamp 2.0, just messing around with a little side project. ///// 01. Background ///// This is about .01% of the game, but I thought the Twisted Rancor Trio puzzle in Taris could look better. This was also a good opportunity for me to branch out from skins to editing .utcs, .utps, .gits, etc. So here's the original: The models are pretty pixelated, and the animations are very choppy. These are holograms, thousands of years from now, surely they can be displayed better and in a 3d space. ///// 02. Planning ///// I started digging around in the files, bugged @A Future Pilot for who knows how long and got an idea of what I wanted to do. It turned out the holograms were an animated .tpc that consisted of 8 frames, hence the choppiness. There were already Bith musicians in the game, so that was an easy replacement and I could bring the Twilek dancers over as well, but Elinda and Ashana are not Twilek, so there's still some thought to go into that. ///// 03. Work Thus Far ///// Here's a basic proof-of-concept. Through some alpha channels and .txi entries, I maintained the hologram look. I think these look so much better now and much more "realistic" holograms. ///// 04. Next Steps ///// There's still a good bit to be done, mostly scripting. These new models show versus the old animations. They are placed above the hologram base versus behind it as they are now. (for proof-of-concept) Any interactivity with them is disabled. They are customized to their respective names, (editing .utcs and such) and then clothing. They all face the right direction. Find models to replace the Twileks. Apparently Elinda and Ashana were human (hard to tell from the hologram), so it'd be a matter of finding a female human model that I think would work. ///// 05. Future Plans ///// This is silly, but creating an item that would activate these holograms wherever. I'm on Dantoonie, I want to hear some music. Fire up the hologram and watch these guys perform (music included of course!). ///// 06. Final Remarks ///// Thanks for taking a look and by all means holler with any comments, questions, or suggestions.
-
1 pointView File Party Model fixes and HD Bastila The main purpose of this mod is to fix many of the party models that have uvw errors. Some of these errors may be too small to see in-game, but most become glaring when using some of the HD texture mods here on this site. The only HD texture that I have included here, is for Bastila Shan's head model (P_BastilaH04) which is now 2048x2048 pixels. I have tried to remain true to her original look. The models that I have fixed, and are included, are: default clothes models for Bastila Shan Canderous Ordo Carth Onasi Jolee Bindo Juhani Mission Vao HK-47's whole body model head models for Bastila and Carth HD head texture for Bastila head texture for Jolee (to fix the mustache) two additional clothes textures for Carth Each of these character's files can be used separately, so that the user has the option of mixing and matching with other mods. Many of the screenshots are animated with before/after scenes that flip every 7 seconds. There are included text files with much more detail as to what has been fixed in each. There are also a few files included that other modders can use for helping their own texture mods (some uvw maps and a few Photoshop psd files with multiple layers already separated). Submitter redrob41 Submitted 06/09/2018 Category Skins K1R Compatible Yes
-
1 pointThat's why I said for the moment. PM me your head texture and I'll remap it to a non-mirrored UV set.
-
1 pointHaha, yeah, scripts can be super overwhelming, and this scene has a bunch of stuff going on. The basic breakdown of them though is: k_ptar_calobar Set Calo and thugs to opposing factions Play Calo underarming grenade animation Play tossing grenade sound k_ptar_gren Equip ranged weapons on the thugs Play sound of grenade bouncing k_ptar_gren2 Get the location of the waypoint for where the grenade lands Spawn a grenade model at that waypoint k_ptar_flash Play the grenade beeping sound Play the ion grenade explosion VFX Have Calo equip a heavy blaster Play the sound of a thug being hit (I assume this is a generic grunt/yell, meant to be because of the flash) k_ptar_kill Get the locations where the thugs are standing Despawn the thugs Have Calo equip a heavy blaster (again) Play blaster fire sounds Play thugs getting hit sounds Spawn corpses where the thugs used to be k_ptar_caloex ??? Calo walks towards the bar exit Edit: And here are the pertinent elements of the DLG nodes related to each script (tar03_calo031.dlg ) k_ptar_calobar Comment: Clothing rustles as he throws the flash grenade CameraID 3 CameraAngle 6 k_ptar_gren CameraID 4 CameraAngle 6 k_ptar_gren2 Comment: Clink sound of the grenade landing CameraID 5 CameraAngle 6 k_ptar_flash Comment: BEEP, the a flash sounding explosion CameraID 6 CameraAngle 6 k_ptar_kill Comment: 3 blaster shots ring out. CameraID 7 CameraAngle 6 Edit 2: Btw @ebmar, I was thinking that since you are primarily focussing on textures for the moment, do you want a non-mirrored head and/or body for this?
-
1 pointAh, yeah, forgot about that one. Looking at the dialogue for that scene, there are a few scripts it uses in succession. The first is after he finishes counting to 3, k_ptar_calobar: void main() { object object1 = OBJECT_SELF; object oTaproomvic031 = GetObjectByTag("taproomvic031", 0); object oTaproomvic032 = GetObjectByTag("taproomvic032", 0); object oTaproomvic033 = GetObjectByTag("taproomvic033", 0); object oCalo031 = GetObjectByTag("calo031", 0); sub1(oCalo031, 1); AssignCommand(oCalo031, sub2(intGLOB_130, 1)); ActionPauseConversation(); ChangeToStandardFaction(oCalo031, 2); ChangeToStandardFaction(oTaproomvic031, 4); ChangeToStandardFaction(oTaproomvic032, 4); ChangeToStandardFaction(oTaproomvic033, 4); AssignCommand(oCalo031, PlayAnimation(118, 1.0, 0.0)); // DP note: This is ANIMATION_FIREFORGET_THROW_LOW DelayCommand(0.6, PlaySound("cs_grentoss")); DelayCommand(1.2, ActionResumeConversation()); } Then k_ptar_gren: void main() { string string1 = "flash_gren"; location location1 = GetLocation(GetObjectByTag("GRENADE_WP", 0)); object oTaproomvic031 = GetObjectByTag("taproomvic031", 0); object oTaproomvic032 = GetObjectByTag("taproomvic032", 0); object oTaproomvic033 = GetObjectByTag("taproomvic033", 0); AssignCommand(oTaproomvic031, ActionEquipMostDamagingRanged(OBJECT_INVALID)); DelayCommand(0.2, AssignCommand(oTaproomvic032, ActionEquipMostDamagingRanged(OBJECT_INVALID))); DelayCommand(0.5, AssignCommand(oTaproomvic033, ActionEquipMostDamagingRanged(OBJECT_INVALID))); ActionPauseConversation(); DelayCommand(0.8, ActionResumeConversation()); DelayCommand(0.90000004, PlaySound("cb_gr_boncehard1")); } Then k_ptar_gren2: void main() { string string1 = "flash_gren"; location location1 = GetLocation(GetObjectByTag("GRENADE_WP", 0)); ActionPauseConversation(); CreateItemOnFloor(string1, location1, 0); DelayCommand(0.8, ActionResumeConversation()); } Then k_ptar_flash: void main() { object oTaproomvic031 = GetObjectByTag("taproomvic031", 0); object oTaproomvic032 = GetObjectByTag("taproomvic032", 0); object oTaproomvic033 = GetObjectByTag("taproomvic033", 0); object oFlash_gren = GetObjectByTag("flash_gren", 0); location location1 = GetLocation(GetObjectByTag("GRENADE_WP", 0)); object oCalo031 = GetObjectByTag("calo031", 0); object object12 = GetItemPossessedBy(oCalo031, "G_W_HVYBLSTR01"); ActionPauseConversation(); DelayCommand(0.5, PlaySound("cs_grenbeep")); DelayCommand(1.0, ApplyEffectAtLocation(0, EffectVisualEffect(3011, 0), location1, 0.0)); // DP note: this is VFX_FNF_GRENADE_ION DelayCommand(0.1, AssignCommand(oCalo031, ActionEquipItem(object12, 5, 0))); DelayCommand(1.2, DestroyObject(oFlash_gren, 0.0, 0, 0.0)); DelayCommand(1.2, ActionResumeConversation()); DelayCommand(1.2, AssignCommand(oTaproomvic032, PlaySound("n_swoopgang_hit1"))); } Then k_ptar_kill: void main() { object oInvis_sound1 = GetObjectByTag("invis_sound1", 0); object oInvis_sound2 = GetObjectByTag("invis_sound2", 0); object oInvis_sound3 = GetObjectByTag("invis_sound3", 0); object oCalo031 = GetObjectByTag("calo031", 0); object oTaproomvic031 = GetObjectByTag("taproomvic031", 0); object oTaproomvic032 = GetObjectByTag("taproomvic032", 0); object oTaproomvic033 = GetObjectByTag("taproomvic033", 0); location location1 = GetLocation(GetObjectByTag("tar03_wpvic0", 0)); location location3 = GetLocation(GetObjectByTag("tar03_wpvic1", 0)); location location5 = GetLocation(GetObjectByTag("tar03_wpvic2", 0)); object object18 = GetItemPossessedBy(oCalo031, "G_W_HVYBLSTR01"); sub1(10.0); DestroyObject(oTaproomvic031, 0.0, 1, 0.0); DestroyObject(oTaproomvic032, 0.0, 1, 0.0); DestroyObject(oTaproomvic033, 0.0, 1, 0.0); DelayCommand(1.0, AssignCommand(oCalo031, ActionEquipItem(object18, 5, 0))); DelayCommand(0.5, AssignCommand(oCalo031, PlaySound("cb_ht_blastleth1"))); DelayCommand(1.0, AssignCommand(oCalo031, PlaySound("cb_ht_blastleth2"))); DelayCommand(1.8, AssignCommand(oCalo031, PlaySound("cb_ht_blastleth1"))); DelayCommand(2.5, AssignCommand(oCalo031, PlaySound("cb_ht_blastleth2"))); DelayCommand(1.7, AssignCommand(oInvis_sound1, PlaySound("n_swoopgang_hit1"))); DelayCommand(2.9, AssignCommand(oInvis_sound2, PlaySound("n_rodian_hit1"))); DelayCommand(3.3, AssignCommand(oInvis_sound3, PlaySound("n_swoopgang_hit1"))); DelayCommand(2.0, sub2(1, "bp_dead3", location1)); DelayCommand(2.5, sub2(1, "bp_dead1", location3)); DelayCommand(3.0, sub2(1, "bp_dead2", location5)); } Then k_ptar_caloex which I can't decompile, but I gather is him walking out of the bar.
-
1 pointI remembered that there's that banter between Mission and Bastila where Mission gets forced prone. Checking the dialogue file, the script used is k_swg_bantforce: ///Bastila trips Mission with a Force power void main() { AssignCommand(GetObjectByTag("Mission"),PlayAnimation(ANIMATION_LOOPING_PRONE)); ActionPauseConversation(); ActionWait(2.0); ActionResumeConversation(); } So using some variant of that might work for your escape scene. Of course another issue is probably the VO. I imagine you'd need additional lines for Selven, which presumably means having to completely replace her existing dialogue, as I can't image you could match it with someone else.
-
1 pointI have a couple oddities to report. I'm not sure if MDLEdit is responsible or if it's just KOTOR being garbage, but I've tried everything I can think of on my end. The first issue is that the cube maps on my model seems to be applied inconsistently. From one angle it's ok, but from others it looks like different faces are getting different parts of the map, resulting in odd seams. I've checked the model to make sure the UVW mapping is ok and there's no Z-fighting or anything obvious, no extra vertices to weld. I was pretty careful about that when I made the object and I'm still not seeing any problem after double checking. The second issue is more of a problem, though. I'm working with animated transparency and the animation is bugging out. There are the standard four placeable animations: close2open, open, open2close, and close, and I also threw in default to be safe. The mesh is meant to be 0% visible in the closed state and 100% visible when open, with transitions for the others. But for the open state, rather than staying on the mesh flickers on and off. I've redone the animations from scratch twice now, first to make sure the initial key was set correctly, and the second time to add default and change the order to match one of the other placeables in the game, just to be safe. But same result. And both the binary and ASCII models look fine - the open animation is 3 seconds long and at each end the alpha value is 1.0. The only other thing I can think of is that it's playing open2close instead of open, but I can't imagine why it would be doing that. Both issues can be seen in the video below. Binary and ASCII also attached. Holocron Troubles.zip
-
1 pointWell, I heard about a media-article that apparently pictures us as terrorists for boycotting a movie. So it can *always* get worse.
-
1 pointIf 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.
-
1 pointIt's *fanatical* to NOT like a movie. This is where we're at as a society. What a joke.
-
1 pointI didn't think the movie was that horrible and terrible, but I understand where those who don't like it are coming from. This video misses a lot of points, namely that others might have valid opinions. Only fanatics cannot accept this.