Leaderboard


Popular Content

Showing content with the highest reputation on 06/14/2018 in Posts

  1. 2 points
    View File Spectral Ajunta Pall Canonical Appearance Have mercy on me, O God, according to your unfailing love; according to your great compassion blot out my transgressions. Wash away all my iniquity and cleanse me from my sin. Psalm 51:1-2 Spectral Ajunta Pall Canonical Appearance DESCRIPTION: This mod replaces the silly, non-intimidating Dark Jedi Ajunta Pall with a scarier, more canon-accurate version. His weak gentle voice has been tweaked too so he is a little more intimidating. INSTALLATION: - Use the TSLPatcher and select the install option UNINSTALLATION: - Run the TSLPatcher with the uninstall option - Delete these files from override: -- p_ajuntah.tpc -- p_ajuntabb.mdl -- p_ajuntabb.mdx -- p_ajuntab.tpc -- p_ajunta.tpc -- kor37_freedon.utc -- ajunta_mask.tpc -- ajunta_maskb.tpc CREDITS: - Bead-V and ndix-ur for their work on mdledit/mdlops - Fred Tetra + KOTOR TOOL - Obsidian, Bioware and the Odyssey Engine - The DeadlyStream Community who has been around all of these years - Jesus Christ, My Lord and Savior. For everyone who calls on the name of the Lord will be saved. Submitter VarsityPuppet Submitted 06/13/2018 Category Mods K1R Compatible Yes  
  2. 1 point
    I was getting annoyed by not being able to get things to work, so I decided to do tests to figure out how exactly the system works. Here is what I've learned so far. Maybe it can help someone, or someone has something else to add to this. My testing continues (in orientation, what happens if there is an enemy, or a closed door between the first speaker and listener when conversation starts, ...), after it's done I will update this text and then it should probably go into the tutorial section. ------------------------------------------------------------------------------------------------------ Everything below is about TSL. When the dialog starts, these roles need to be determined: - DEFAULT_SPEAKER or OWNER - DEFAULT_LISTENER - PLAYER The terms OWNER and PLAYER may actually be used in the Listener (but not Speaker) field in the dialog editor (and also for dialog animations). In scripts fired through the dialog, OBJECT_SELF refers to OWNER. To explain how they are determined we also need to define oStarter and oOwner. They are defined by the script that fires the dialog: AssignCommand(oStarter, ActionStartConversation(oOwner, "some_dialog")); PLAYER always represents the first PC (GetFirstPC() in scripts). DEFAULT_LISTENER is generally oStarter. RULE 1: This is always true if oStarter is PLAYER. RULE 2: If oOwner is PLAYER, then DEFAULT_LISTENER is always PLAYER (green and purple). If oStarter is a party member, then control is given to PLAYER after the dialog (green). RULE 3: If oStarter is a party member and oOwner is a creature, then DEFAULT_LISTENER is PLAYER (red). In addition to that, before the dialog, PLAYER and oStarter exchange locations and control is given to PLAYER. After the dialog, control over the original party member is regained. RULE 4: If oStarter is not a party member and oOwner is a party member, then DEFAULT_LISTENER is oOwner, the party member (blue). OWNER is generally oOwner. RULE 1: If oOwner is PLAYER, then OWNER is oStarter (green and purple). RULE 2: If oOwner is a party member and oStarter is not a party member, OWNER is oStarter (blue). All of this is summarized in the following table: 1 Controlled character changes to PLAYER after dialog. 2 Controlled character changes to PLAYER before dialog, but changes back afterwards. Notes: STARTER in this table refers to DEFAULT_LISTENER. Shaded cells represent combinations where the roles of oStarter and oOwner may be reversed with the same effect. More attention should be paid to the white cells, especially a combination of a party member with another party member or creature. Bold font weight indicates that OWNER is oOwner or STARTER is oStarter, that is, no special rules have applied. A node in this text means every entry and every instance of the player choosing a reply. Every node has the following roles, which need to be determined: - SPEAKER - LISTENER In determining them, we need to make use of OWNER, DEFAULT_LISTENER and PLAYER (defined above). SPEAKER is the object with the tag in the Speaker field of the current entry. If the Speaker field is empty, SPEAKER is OWNER. If the field is not empty, but no object with that tag exists, the entry is skipped; if after that no other entries are available, the dialog ends. In replies, SPEAKER is automatically PLAYER. The keywords 'OWNER' and 'PLAYER' may NOT be used in the Speaker field. Doing this will end the conversation. LISTENER is the object with the tag in the Listener field of the current node. If the field is empty, it is the object with the tag in the Speaker field of the previous node. If that object is invalid or the same as SPEAKER, or if this is the first node, then LISTENER is DEFAULT_LISTENER. The keywords 'OWNER' and 'PLAYER' may be used in the Listener field. At the beginning of every node, SPEAKER and LISTENER reorient on each other, unless SetLockOrientationInDialog() is TRUE. In that case the creature for which it is TRUE does not reorient. There are two ways of reorienting in dialog. One is head-tracking, where the head is turned towards the target, and the body only turns as much as it needs to for the head to face the target. The creatures that do not use head-tracking instead turn entirely to face the target. For head-tracking to work, it must be enabled in appearance.2da under column 'headtrack'. The creatures that use head-tracking can turn it off by setting SetLockHeadFollowInDialog() to TRUE. However, if 'headtrack' is 0 in appearance.2da, then SetLockHeadFollowInDialog() cannot be used to enable head-tracking; these creatures will always turn entirely to face the target.
  3. 1 point
    Another fix you may want to include:
  4. 1 point
    View File Realistic Skybox for deathdisco's Coruscant Realistic Skybox for deathdisco's Coruscant --- Authors: Sith Holocron 90SK deathdisco --- Adds a realistic Coruscant skybox to the Coruscant landing pad and council chambers. This will change the council chamber's skybox to a realistic skybox, and if you have installed deathdisco's Coruscant, it will change those skyboxes as well. Please note that if you use Steam Workshop, you will have to install this mod to those folders as well as your main directory Override. --- To install, Copy mod files from archive to your SWKotOR/Override folder --- To Uninstall, remove mod files from your Override folder in TSL's program directory that you installed into. Mod filenames: COR_sky1 COR_sky2 COR_sky3 COR_sky4 MAL_skyBk MAL_skyFrnt MAL_skyLft MAL_skyRght MAL_skyUp load_952cor.tga load_953cor.tga load_954cor.tga --- Special Thanks: Exile007 for original mod --- Legalal Disclaimer: All materials and copyrights belong to LucasArts, Bioware and Obsidian Entertainment Inc. I own none of the materials, and I'm not making any money out of this mod. It is to be distributed as-is without alteration, unless by permission of me. This mod is not to be distributed for profit, either. I hereby state that I specifically do NOT wish this mod to be uploaded to Steam Workshop. I may release this on NexusMods at a later date but I don't wish others to do so. Usage in other mods must be requested and approved by me before your use. THIS MODIFICATION IS PROVIDED AS-IS AND IS NOT SUPPORTED BIOWARE/ OBSIDIAN ENTERTAINMENT OR LUCASARTSOR ANY LICENSERS/SPONSORS OF THE MENTIONED COMPANIES. USE OF THIS FILE IS AT YOUR OWN RISK AND THE ABOVE MENTIONED COMPANIES OR THE AUTHOR IS NOT RESPONSIBLE FOR ANY DAMAGE CAUSED TO YOUR COMPUTER FOR THE USAGE OF THIS FILE. Submitter 90SK Submitted 06/14/2018 Category Skins TSLRCM Compatible Yes  
  5. 1 point
    Before you get too carried away, you may want to look at @ndix UR's GUI mod and see what that does to all your values.
  6. 1 point
    Holy moly I woke up to this awesomeness. Yes! And I believe that the board could be altered too, wow. But anyways- looking forward to this one CO! And don't forget the Star Map! 😂
  7. 1 point
    Per discussions with @Snigaroo, you may want to include:
  8. 1 point
    so i have sent MagnusII a pm on LF, here is what he had to say: public class TriMeshHeader { public static int KotorI_Size = 332; public static int KotorII_Size = 340; #region Private Members private int _KotorVersion; /*0*/ private UInt32 _FunctionPointer0; /* 4216656 K1, 4216592 K1 SkinMesh, 4216640 K1 DanglyMesh * 4216880 K2, 4216816 K2 SkinMesh, 4216864 K2 DanglyMesh * */ private UInt32 _FunctionPointer1; /* 4216672 K1, 4216608 K1 SkinMesh, 4216624 K1 DanglyMesh * 4216896 K2, 4216832 K2 SkinMesh, 4216848 K2 DanglyMesh * */ private UInt32 _OffsetToFaces; private UInt32 _FacesCount; private UInt32 _DuplicateFacesCount; private KotorVertex _BoxMin; private KotorVertex _BoxMax; private float _Radius; private KotorVertex _AveragePoint; /*60*/ private float[] _DiffuseColor = new float[3]; private float[] _AmbientColor = new float[3]; private UInt32 _Shininess_Tentative; /* 0 (mostly), 1, 2, 3, 4, 5, 7, 8, 13 * Blend Factor, SamplerStageStates, TextureOperation? */ private byte[] _Texture1Name = new byte[32]; /*120*/ private byte[] _Texture2Name = new byte[32]; private byte[] _Texture3Name = new byte[12]; private byte[] _Texture4Name = new byte[12]; private UInt32 _OffsetToVerticesIndexesCounts; /*180*/ private UInt32 _VerticesIndexesCountsCount; // = 1 private UInt32 _DuplicateVerticesIndexesCountsCount; private UInt32 _OffsetToVerticesOffsets; private UInt32 _VerticesOffsetsCount; // = 1 private UInt32 _DuplicateVerticesOffsetsCount; /*200*/ private UInt32 _OffsetToTrimeshInvertedCountersArray; private UInt32 _TrimeshInvertedCountersArrayItemsCount; /* * = 1, always one UInt32 * sequence goes like this: first * trimesh node is 98, then: * 98..00, 100 * 199..101, 200 * 399..? */ private UInt32 _DuplicateTrimeshInvertedCountersArrayItemsCount; private Int32[] _Unknown1 = new Int32[3]; // -1, -1, 0 /*224*/ private byte _SaberUnknown1; // 3 for non-saber private byte _SaberUnknown2; // 0 for non-saber private byte _SaberUnknown3; // 0 for non-saber private byte _SaberUnknown4; // 0 for non-saber private byte _SaberUnknown5; // 0 for non-saber private byte _SaberUnknown6; // 0 for non-saber private byte _SaberUnknown7; // 0 for non-saber private byte _SaberUnknown8; // 0 for non-saber, 17 for sabers private Int32 _SparkleTentative; /* 0 for most, 1 for water and clouds and * one piece of the GUI * Maybe some sparkle or reflex effects, * or a specular lighting modifier? */ private Rotation _UnknownRotation = null; private Int32 _MDXDataSize; /* mostly 24, 32, 40, 76 with a smattering of other values * if textures = 0 almost always 24, except 15 models with -1 and 23 with 60 * if textures = 1, almost always 32, with several 64 and 68, and a bunch of 100 and 0 * if textures = 2, it's either 40 (mostly) or 76 */ private UInt32 _MDXDataBitmap; /* which data is present in MDX * according to MDXDatabits */ /*260*/ private Int32 _OffsetToVerticesInMDX; // = 0 for most, -1 for lightsabers or when verticescount = 0 private Int32 _OffsetToNormalsInMDX; // = 12 private Int32 _OffsetToUnknownInMDX; // = -1, never present private Int32 _OffsetToUVsInMDX; // = 24 if present private Int32 _OffsetToUV2sInMDX; /* -1, 24, 32 * if mdxdatasize = 24 then it's always -1 * if mdxdatasize = 32 it's almost always -1 except for 14 models where it's 24 * if mdxdatasize = 40 or 76 then it's always 32 */ private Int32 _OffsetToUV3sInMDX; // = -1, never present private Int32 _OffsetToUV4sInMDX; // = -1, never present private Int32 _OffsetToUnknownStructInMDX; /* -1, 24, 32, 40 * if mdxdatasize = 24 or 32 or 40 then it's always -1 * if mdxdatasize = 76 then it's always 40 * this is basically whatever info is in the MDX * after the last texture UV coordinates and * before the bones. It is 36 bytes long. * the last three of these values seem to be some sort of * "weighted normals"... they definitely have something * to do with normals as at least one of these triplets * was equal to the normal in c_hutt --> eye01, and the others * have similar values */ private Int32 _OffsetToUnusedMDXStructure1; // -1 private Int32 _OffsetToUnusedMDXStructure2; // -1 /*300*/ private Int32 _OffsetToUnusedMDXStructure3; // -1 private UInt16 _VerticesCount; private UInt16 _TexturesCount; private UInt16 _HasLightmap; //0, 1 private UInt16 _Shadow; // 0, 256 private UInt16 _Render; // 0, 256 private UInt16 _Unknown2; // ?? private float _TotalArea; // sum of faces' areas /*320*/ private UInt32 _Unknown4; // = 0 private UInt32 _Kotor2Unknown1; private UInt32 _Kotor2Unknown2; private UInt32 _OffsetToMDXData; private UInt32 _OffsetToVertices i'd wager the four textures are, the base, the lightmap, the bumpmap and the environment map.
  9. 1 point
    Well, I've decided to start myself a new WIP. It's been a long time since I've done anything major, but I'll give it a go once more. Okay, the title of this project is Disappearance on Yavin. Obviously, it's going to add a significant part of the planet Yavin IV. Plus, there will be other locations that you and your party will have to go. A little backstory.... A plea from the Republic brings you to the world of Yavin. A Republic pilot and his ship have gone missing. So, you and your party set out to investigate. Upon arrival at the Republic outpost, which was a supply base during the Mandalorian wars, you may begin to realize that all is not as it seems, and that the Republic operation on Yavin IV may have a much larger purpose... Okay, now to the screenshots. I've fully reskinned 5 modules at the moment. Some are interior, some exterior, some both. I've decided to go for a pretty foggy Yavin IV. It really seems like a place that a Republic fighter might get lost in. I'm trying to keep this (fairly) small at the moment. I'm going for an achievable mod. So, I'm going to start with just the main quest, and add sidequests and such in later. Also, anyone who wants to pitch in, let me know. There is always room for a helping hand.
  10. 1 point
    Dang, now I want to play Manaan even more (hearing the music in TOR was a start). Gotta do a KOTOR1 run after 1.8's done... *have* to xD
  11. 1 point