-
Posts
2 -
Joined
-
Last visited
About LordVaderCW
- Birthday 10/31/1993
Contact Methods
-
Website URL
https://www.reddit.com/user/Character-Tip8287/
Profile Information
-
Gender
Male
-
Interests
Coding, SWTOR, KoTOR, KoTOR II: TSL, Reverse Engineering, Modding.
LordVaderCW's Achievements
-
kotor tool KoTOR Tool REBORN.
LordVaderCW replied to LordVaderCW's topic in General Kotor/TSL Modding
Just a little update. Im working through the Visual Basic Winforms, they appear to be heavily fragmented, or backwards compiled. not in the 2010 era of nested code / vb designer files / resx. so im building a script rapidly edit the files for me. This a utility im writing in python to speed up the process. The first build works okay, a few glitches in the win forms, but i was able to make early fixes to them, adding .resx files where they can be added. ALOT of work is going to be put in this toolkit. But the master will always be Mr. Fred Tetra. No one knows if he is even alive anymore, but whoever he is, and whereever he came from, that brain, deserves the highest recognition in the KoTOR Universe. Forever. In addition to this tool, that is built on specifically Python 3.13, after a couple of iterations, and hella debugging, trial and error, it now seems to be working flawlessly with repairing the Designer files and fixing the decomp mangling. for example, python script which ive built, while running visual studio (very important!) gives us outputs like this. ========================================================================================== [CMD] C:\Users\USER\AppData\Local\Programs\Python\Python313\python.exe "P:\GAME TOOLS\Modding\KoTOR Tool\Source\VbRepair\kt_stage1.py" --code "P:/GAME TOOLS/Modding/KoTOR Tool/Source/kotor_tool/frmBasicHelp.vb" --designer "P:\GAME TOOLS\Modding\KoTOR Tool\Source\kotor_tool\frmBasicHelp.Designer.vb" --apply KOTOR Tool Designer Repair - Stage 1 ==================================================================================================== Mode : APPLY Code file : P:\GAME TOOLS\Modding\KoTOR Tool\Source\kotor_tool\frmBasicHelp.vb Designer file : P:\GAME TOOLS\Modding\KoTOR Tool\Source\kotor_tool\frmBasicHelp.Designer.vb Summary ------- Controls found : 3 Designer declarations added : 3 Event bindings found : 0 Event bindings inserted : 0 Property wrappers removed : 3 Backing fields removed : 3 Code changed : True Designer changed : True File Size / Line Count ---------------------- Code lines : 83 -> 20 (-63) Designer lines : 69 -> 68 (-1) Code bytes : 2799 -> 467 (-2332) Designer bytes : 5666 -> 5625 (-41) Controls Discovered ------------------- - Button1 As Global.System.Windows.Forms.Button | property lines 22-34 - TextBox1 As Global.System.Windows.Forms.TextBox | property lines 39-51 - Label1 As Global.System.Windows.Forms.Label | property lines 56-68 Property Wrappers Removed ------------------------- - Button1: lines 22-34, removed with header from line 18 - TextBox1: lines 39-51, removed with header from line 35 - Label1: lines 56-68, removed with header from line 52 Backing Fields Removed ---------------------- - _Label1 As Label: lines 20-21, removed with header from line 18 - _Button1 As Button: lines 24-25, removed with header from line 22 - _TextBox1 As TextBox: lines 28-29, removed with header from line 26 Orphaned AccessedThroughProperty Attributes Removed --------------------------------------------------- None Designer Declarations Inserted ------------------------------ - Friend WithEvents Button1 As Global.System.Windows.Forms.Button - Friend WithEvents TextBox1 As Global.System.Windows.Forms.TextBox - Friend WithEvents Label1 As Global.System.Windows.Forms.Label Designer Declarations Already Present / Skipped ----------------------------------------------- None Event Bindings Discovered ------------------------- None Event Bindings Inserted ----------------------- None Event Bindings Already Present / Skipped ---------------------------------------- None Designer Alias Declarations Removed ----------------------------------- - Line 25: removed alias 'button' for Me.Button1 - Line 31: removed alias 'textBox' for Me.TextBox1 - Line 37: removed alias 'textBox2' for Me.TextBox1 - Line 43: removed alias 'label' for Me.Label1 Designer Alias Property Rewrites -------------------------------- - button. -> Me.Button1. : 1 replacements - textBox. -> Me.TextBox1. : 1 replacements - textBox2. -> Me.TextBox1. : 1 replacements - label. -> Me.Label1. : 1 replacements Malformed Designer Output Repairs --------------------------------- None Local Declaration Renames ------------------------- None InitializeComponent Value Local Inlines --------------------------------------- - Line 25: removed temporary declaration 'localPoint' and cached New Global.System.Drawing.Point(171, 344) - Line 26: inlined 'localPoint' into assignment - Line 30: removed temporary reassignment 'localPoint' and cached New Global.System.Drawing.Point(8, 40) - Line 31: inlined 'localPoint' into assignment - Line 35: removed temporary declaration 'localSize' and cached New Global.System.Drawing.Size(400, 296) - Line 36: inlined 'localSize' into assignment - Line 40: removed temporary reassignment 'localPoint' and cached New Global.System.Drawing.Point(158, 😎 - Line 41: inlined 'localPoint' into assignment - Line 46: removed temporary reassignment 'localSize' and cached New Global.System.Drawing.Size(5, 13) - Line 47: inlined 'localSize' into assignment - Line 48: removed temporary reassignment 'localSize' and cached New Global.System.Drawing.Size(416, 381) - Line 49: inlined 'localSize' into assignment VB Safety Fixes --------------- - Renamed local 'size' declarations to 'localSize': 1 - Renamed local 'point' declarations to 'localPoint': 1 - Renamed local 'resourceManager' declarations to 'resources': 1 - Removed InitializeComponent temporary Size/Point value lines: 6 - Inlined InitializeComponent temporary Size/Point value usages: 6 - Designer declarations inserted at line 54: 3 Warnings -------- None Apply complete. Files were updated. [OK] Process finished successfully. Exit code: 0 and basically what this does, is it takes the mangled visual designer code, for example, lets take frmBWMEditor.vb Is exactly what you will get if you try to decomp and just load it up in visual studio. Good for debugging and runtime, its like Jabba the Hutt shat on you for designer updates. so we grab our python tool We select our frmBWMEditor.vb file (it populates the designer one with the force) If you want to check with non-destructive, we do a DRY RUN to the Dagoba System, Various output information given, we love data!! Controls auto remove the property wrapper. then it will move the relevent code to the designer etc. Rebindings etc as you can see this is the method of how we fix the galaxy. one scottish obikenobi at a time. 'hellothere' we get a pleasant warning before we untangle the mess. GOD I LOVE PYTHON. Dont forget to click YES TO ALL. Sometimes, it might forget an import or two, if it does, just add it manually. cant be lazy like a huttese prince at everything. we then get this form returned back to us. now i did just have to make a fix as i was writing this, so we can do this. InitializeComponent Decimal Value Local Inlines ----------------------------------------------- - Line 70: removed Decimal declaration 'num' and cached New Decimal(New Integer() {1000, 0, 0, 0}) - Line 71: inlined Decimal temporary 'num' into assignment - Line 72: removed Decimal reassignment 'num' and cached New Decimal(New Integer() {1000, 0, 0, Integer.MinValue}) - Line 73: inlined Decimal temporary 'num' into assignment - Line 80: removed Decimal reassignment 'num' and cached New Decimal(New Integer() {1000, 0, 0, 0}) - Line 81: inlined Decimal temporary 'num' into assignment - Line 82: removed Decimal reassignment 'num' and cached New Decimal(New Integer() {1000, 0, 0, Integer.MinValue}) - Line 83: inlined Decimal temporary 'num' into assignment - Line 90: removed Decimal reassignment 'num' and cached New Decimal(New Integer() {1000, 0, 0, 0}) - Line 91: inlined Decimal temporary 'num' into assignment - Line 92: removed Decimal reassignment 'num' and cached New Decimal(New Integer() {1000, 0, 0, Integer.MinValue}) - Line 93: inlined Decimal temporary 'num' into assignment - Line 100: removed Decimal reassignment 'num' and cached New Decimal(New Integer() {1000, 0, 0, 0}) - Line 101: inlined Decimal temporary 'num' into assignment - Line 102: removed Decimal reassignment 'num' and cached New Decimal(New Integer() {1000, 0, 0, Integer.MinValue}) - Line 103: inlined Decimal temporary 'num' into assignment - Line 110: removed Decimal reassignment 'num' and cached New Decimal(New Integer() {1000, 0, 0, 0}) - Line 111: inlined Decimal temporary 'num' into assignment - Line 112: removed Decimal reassignment 'num' and cached New Decimal(New Integer() {1000, 0, 0, Integer.MinValue}) - Line 113: inlined Decimal temporary 'num' into assignment - Line 120: removed Decimal reassignment 'num' and cached New Decimal(New Integer() {1000, 0, 0, 0}) - Line 121: inlined Decimal temporary 'num' into assignment - Line 122: removed Decimal reassignment 'num' and cached New Decimal(New Integer() {1000, 0, 0, Integer.MinValue}) - Line 123: inlined Decimal temporary 'num' into assignment - Line 130: removed Decimal reassignment 'num' and cached New Decimal(New Integer() {1000, 0, 0, 0}) - Line 131: inlined Decimal temporary 'num' into assignment - Line 132: removed Decimal reassignment 'num' and cached New Decimal(New Integer() {1000, 0, 0, Integer.MinValue}) - Line 133: inlined Decimal temporary 'num' into assignment - Line 140: removed Decimal reassignment 'num' and cached New Decimal(New Integer() {1000, 0, 0, 0}) - Line 141: inlined Decimal temporary 'num' into assignment - Line 142: removed Decimal reassignment 'num' and cached New Decimal(New Integer() {1000, 0, 0, Integer.MinValue}) - Line 143: inlined Decimal temporary 'num' into assignment - Line 150: removed Decimal reassignment 'num' and cached New Decimal(New Integer() {1000, 0, 0, 0}) - Line 151: inlined Decimal temporary 'num' into assignment - Line 152: removed Decimal reassignment 'num' and cached New Decimal(New Integer() {1000, 0, 0, Integer.MinValue}) - Line 153: inlined Decimal temporary 'num' into assignment - Line 160: removed Decimal reassignment 'num' and cached New Decimal(New Integer() {1000, 0, 0, 0}) - Line 161: inlined Decimal temporary 'num' into assignment - Line 162: removed Decimal reassignment 'num' and cached New Decimal(New Integer() {1000, 0, 0, Integer.MinValue}) - Line 163: inlined Decimal temporary 'num' into assignment - Line 170: removed Decimal reassignment 'num' and cached New Decimal(New Integer() {1000, 0, 0, 0}) - Line 171: inlined Decimal temporary 'num' into assignment - Line 172: removed Decimal reassignment 'num' and cached New Decimal(New Integer() {1000, 0, 0, Integer.MinValue}) - Line 173: inlined Decimal temporary 'num' into assignment - Line 180: removed Decimal reassignment 'num' and cached New Decimal(New Integer() {1000, 0, 0, 0}) - Line 181: inlined Decimal temporary 'num' into assignment - Line 182: removed Decimal reassignment 'num' and cached New Decimal(New Integer() {1000, 0, 0, Integer.MinValue}) - Line 183: inlined Decimal temporary 'num' into assignment - Line 190: removed Decimal reassignment 'num' and cached New Decimal(New Integer() {1000, 0, 0, 0}) - Line 191: inlined Decimal temporary 'num' into assignment - Line 192: removed Decimal reassignment 'num' and cached New Decimal(New Integer() {1000, 0, 0, Integer.MinValue}) - Line 193: inlined Decimal temporary 'num' into assignment InitializeComponent Value Local Inlines --------------------------------------- None VB Safety Fixes --------------- - Removed InitializeComponent Decimal temporary value lines: 26 - Inlined InitializeComponent Decimal temporary value usages: 26 Warnings -------- None Apply complete. Files were updated. [OK] Process finished successfully. Exit code: 0 and of course, the about box, is still there. More updates soon. definitely today. or in a few hours. keep tuned.- 1 reply
-
- fred tetra
- vb
-
(and 6 more)
Tagged with:
-
Hi everyone, I wanted to share a pretty major milestone with the KOTOR community. Over the last 24 hours, I have successfully reverse engineered and reconstructed the original KOTOR Tool into a working Visual Studio 2010 project, with source code files restored, curated, repaired, and brought back into a buildable structure. I worked through the decompiled output manually, repairing broken VB.NET syntax, restoring missing line continuations, correcting project references, fixing startup and application path issues, and rebuilding the project into something that can now run inside Visual Studio again. Source Files I also used ChatGPT heavily throughout the process as a coding assistant, helping identify broken patterns, repair old VB.NET structures, and accelerate the reconstruction process. The actual curation, testing, correction, and project decisions were done manually by me. This was done in roughly a 24-hour period. For anyone who remembers how important KOTOR Tool was to the original modding scene, this feels like a serious preservation milestone. The goal here is not to take anything away from the original creator or the work that came before. Quite the opposite: this is about preserving an important part of KOTOR modding history and making sure the tool can still be studied, repaired, and potentially modernised. At this stage, I am treating this as a restoration and preservation project. I am not making any promises about releases yet, because there may be legal, licensing, and attribution questions that need to be handled properly and respectfully. Visual Studio 2010 Compile But technically speaking, the milestone is real: - KOTOR Tool has been reconstructed into a Visual Studio 2010-compatible source project - The source files have been manually curated and repaired - The project now runs again from source - The restoration was completed in approximately 24 hours - AI-assisted coding helped accelerate the repair process, but the reconstruction was manually supervised and tested KoTOR Tool running in visual studio 2010 debug. I know this tool means a lot to many people here, so I wanted to share the progress with the community and open the door to discussion. For those who used KOTOR Tool back in the day: What parts of the tool do you think are most important to preserve? What would you want to see documented, stabilised, or modernised first? LordVaderCW There is still much to do with this project. But, after a decade and a half, it is now open to the modding community. I will in due course, make the source available on GitHub. Fred built this in DotNet Visual Basic, on Net 1.1; its now running on 2.5; I intend to get it to atleast dotnet 3.5+ and also plan to make a C# version, or as close it as possible. I almost got sued by Lucasfilm, for trying to make SWKoTOR:III on ModDB. (yea im that guy!) in the days of Unreals UDK (with a little bit of ResourceHacker). I believe with the right minds in the KoTOR community, we can **FINALLY** begin efforts to PRESERVE, RESTORE, and even maybe uplift these Sacred Games, which have become Holocrons of our Heritage. May the Force be with you. LordVaderCW. #StopKillingGames Originally Posted on Reddit: You will find all updates i make to this project over on reddit. When i have a suitable application ready to release, in traditional style, if there are no Objections from the community, i will upload it here, to deadlystream.
- 1 reply
-
- 1
-
-
- fred tetra
- vb
-
(and 6 more)
Tagged with: