Leaderboard
Popular Content
Showing content with the highest reputation on 10/14/2025 in all areas
-
2 pointsHey everyone! My Name is Lane. Some of you know me from Kotor Speedrunning, and others from my various Youtube exploits. I don't ever really post on Deadly Stream, but I've been lurking in and around the KotOR modding community for about a decade now. I have a degree in computer Science and decided to put it to good use, and reverse engineer KotOR 1 (the GoG version). This has been an on-going project for about 2-3 years now, and I've been sharing my progress with friends, and in some Youtube Videos. However, I've pretty much hit a wall with what I can do with this effort now. So I wanted to release my progress publicly, so other smart and clever people can start doing fun stuff with this. Linked below is a Google Drive with several useful things: A Ghidra SARIF export that contains all data types, function labels, parameters, Classes, and other additions I've made A Ghidra Format XML that contains the labels and function adjustments I've worked on. This is lighter weight than the SARIF file, but has more limitations when it comes to import fidelity. A generated `.h` file, that contains the Header information I have pieced together over time. Even lighter-weight, and more limited than the above What this is not: True Debug Symbols for kotor BioWare Intellectual Property A runnable or compilable program Kotor's Source Code A reverse engineering of Kotor 2 A reverse engineering of the Steam version * * A note about Kotor 1 Steam: While this reverse engineering effort targeted the GoG release of KotOR 1, the Steam version has MANY similarities; often times having identical memory addresses for most functions. Any Patch made for the GoG version can be pretty reasonably ported to Steam with a little bit of effort. What this is: A decently representative result of what Kotor's debug symbols might look like (format and terminology pulled from the MacOS symbols, and existing NWN docs) A research-based labeling and reverse engineering of the GoG version of Kotor 1 A labor of love for the past several years that I'm happy to share Why this is cool/important: This provides a stepping off point for creating proper patches for KotOR 1 This also provides a means for researching underlying issues with things such as memory management, graphical limitations, and compatibility This also provides a researching angle for coming to understand some of the more mysterious file formats, and how they interact with the game itself There are also a variety of fundamental similarities between this and KotOR 2. Which may unlock some insights for that game This is also the first step towards a proper re-compilation (though that is a long-ways off) How do I use this? You need Ghidra installed, with a modern Java Runtime Create a new project, and import swkotor.exe (as purchased from GoG) Open the EXE in Ghidra's code browser When it asks if you want it analyzed, select 'Yes" The default analyzers are fine, technically you could speed this up by stripping out a few unneeded analyzers The analyzers will take several minutes to complete (progress can be tracked in the bottom right) Once the analyzers have run, we can proceed Select "File > Add To Program..." and select the SARIF (or XML) file (download below) The importer will analyze the symbols and apply them to the project You now have a decently labeled/decompiled instance of KotOR 1 Limitations: 99.9% of the functions have been labeled, however there were a few stragglers that I was never able to work out. These will appear as `FUN_<address>` 92.3% of the Data is labeled, with stragglers being named `DAT_address` Data Types are VERY incomplete. The labeled ones consist mostly of frequently used types, and known fields. Unknown fields are marked `field<index>_<offset>` Virtual Function calls are very under labeled (largely due to the difficultly of labeling vtables in Ghidra). Though you can determine the underlying function by applying the offset to the associated Class vtable. Most functions have only automatic variables defined within their decomp. Typing and purpose of underlying variables beyond function names, and parameter types, are left up to inference. Overlapping functions. Certain functions overlap in this compilation, due optimizations within the Visual C++ runtime. As a result some functions such as `GetProperty0x30` are shared by multiple classes, and thus lack a name-space. You can usually work out their purpose by checking the associated data type at that offset. If you used the XML import, you will be missing a lot of typing and Function Class/Namespace info Final Notes: Please feel free to ask me any questions about this effort, or any thing strange you might find within the decomp. I've grown to be quite the kotor expert over the years, and I'd be happy to share any insights. You can reach out to me on Discord @lane_d, I'm in the Kotor Reddit server, as well as the kotor speedrunning server. I will be periodically posting updates to this drive, whenever I get the chance to work on this more. If anyone has any major contributions they'd like to see added, please reach out! I'd be happy to chat. Both the XML and SARIF formats have some limitations, unfortunately they are the best I can do without publicly sharing Bioware intellectual property. If there is something missing from these that you are in need of, please reach out and I can see if I can help you. (Note: I will not be abetting piracy though. Buy the damn game, it goes on sale all the time) Google Drive Link Here
-
2 pointsThanks for your interest. Well, considering that I started playing around with A.I. upscalers around August 2020... it took me 4 & 1/2 years to get through 52% of the files I intended to fix. Suffice to say it will be a while; with no fixed date. I'm currently working on updating some of my earlier mods first before getting back to this one.
-
2 points
Version 1.1.0
22 downloads
Give the Mand'alor a companion worthy of his station. This mod adds a unique Maalraas, named Galaar (Mando'a for "Hawk"), as a permanent and interactive companion for Mandalore. I've always loved Mandalore as a character but felt he was lacking compared to other party members. This mod helps him stand out by giving him Galaar, a personal Maalraas that will follow him much like Bao-Dur's Remote, and one that will hopefully prove its worth in battle. But Galaar is more than just a follower; he's a character in his own right. His loyalty isn't given freely, it's earned through your actions and, most importantly, your relationship with Mandalore himself. To acquire Galaar, you must head to the Western Square on Onderon. There, you will find a Sullustan merchant named Kobbegg standing near a cage containing the beast. Speak to him, but be prepared to spend a considerable amount of credits for such a rare creature... or find another way to negotiate the price. Kobbegg's attitude and your options will change based on a choice you made long ago on Peragus. Features: A Deeply Reactive Companion: Galaar is a fully interactive party member. You can speak with him aboard the Ebon Hawk and in the field. His demeanor and dialogue are not static; they are a direct reflection of your Influence with Mandalore, shifting from hostile wariness to absolute devotion. A Unique Judge of Character: Galaar forms his own opinions! Ask him what he thinks, and he'll give you his instinctual, animal-level read on every member of your crew. This includes everyone from Atton to HK-47, and even recognizes the GONK droid from my other mod, GONK and Loaded! He Senses Who You Are: Galaar's opinion of you is complex. He will comment on your chosen path, whether you are a Guardian, Sentinel, or Consular, and even recognize your Prestige Class. Furthermore, he intuitively senses your alignment, offering a unique perspective on your journey to the Light Side, Dark Side, or somewhere in between. Planetary Instincts: Galaar can sense the nature of each world you visit. Ask him how he feels on planets from the jungles of Dxun to the tombs of Korriban, and get a creature's-eye view of the galaxy. Lore-Friendly & Interactive Acquisition: The quest to get Galaar is a multi-layered conversation with the merchant Kobbegg, featuring persuasion, intimidation, and even Force-based solutions. Additional Merchant: Kobbegg also operates as a general merchant, selling armor, weapons, and implants. Seamless Integration: If you have my Customizing Droids mod installed, Kobbegg will also sell Droid Customization Kits. Notes: The mod can be installed at any time, but the encounter will only trigger before your first visit to the Western Square. TSLRCM is not required, but is always recommended. Credits: Princess Artemis, for Cati (inspiration) Fred Tetra, for KOTOR Tool TK102, for DLGEditor Torlack, stoffe & TK102, for NWNSSCOMP JdNoa & Dashus, for DeNCS Cortisol, for Holocron Toolset -
1 pointIt's so good that I borrowed some of the facial features for my own texture for personal use.
-
1 point
-
1 pointRobes and armor 1024. PFBI01.tga PFBI03.tga PFBI04.tga PFBG06.tga PMBD08.tga PMBE01.tga pmbj01.tga PFBJ02.tga Aliens 1024 N_Duros01.tga N_Duros03.tga
-
1 pointPortraits done. unless i missed someone... random player selectable characters
-
1 point
Version .215b
18,447 downloads
Making lightsabers is incredibly easy! 1. Go to the Workbench and select "Use Saber Console" 2. Choose "Create a hilt", choose a model and a color 3. The hilts are like a lightsaber crystal. Just equip it into the crystal spot and voila! It comes with its own installer, but I assure you it's not malicious. If you run into incorrect colors, simply switch out the crystal at a workbench and rebuild the lightsaber. HOLOWAN DUPLISABER v.215b Chainz.2da Darth Deadman Evasto Inyri Forge OldFlash Qui-Don Jorn Quanon Seprithro Svosh T7Nowhere TriggerGod VarsityPuppet This mod expands the current lightsaber selection to include 59 different hilts, 13 different colors and long-bladed lightsabers. There are 59 total saber hilts to choose from, and they are available in 13 different colors, making for 767 possibilities. Future versions will integrate the saber hilts into the game as prizes and earnable or collectible items. Installation: Just click "Install" and wait for the progress bar to finish. If the installer closes early, the installation was not successful. Using the mod: Once in game, go to any workbench and you should have the option to open up the Saber Console. From the Saber Console, you can choose any hilt and the color of that hilt. This will give you a "hilt" item that you can use at a workbench to create a lightsaber. Simply switch out the color crystal for the desired hilt and it will change your lightsaber. Due to the nature of the game engine, you can even change the type of the weapon based on the hilt you choose. Changing from short to long to single to double is as easy as switching out a hilt. Disclaimer: This mod was built to be compatible with all mods (TSLRCM and M4-78 included). Any errors you encounter either come from a conflict caused by another mod or are a result of an installation error. DO NOT MESS WITH THE FILE FOLDERS. DOING SO WILL RUIN THE INSTALLATION. Credits: This mod was made from saber mods for which I asked for permission to use or were already open for free use. Each lightsaber is marked in-game with its original designer in its description. Thanks to: Bioware - Documentation on GFF and 2da formats. Designers -Chainz.2da Darth Deadman Evasto Inyri Forge OldFlash Qui-Don Jorn Quanon Seprithro Svosh T7Nowhere TriggerGod Fair Strides - For integrating the mdlops replacer into my dev version of the project.