Alo Posted April 15, 2014 Share Posted April 15, 2014 (edited) Fix my docking is a tool to find and fix problems with docking ports in quicksave.Now added automatic quicksave correctionFeaturesShow docking ports on vesselShow docking ports relationshipsIdentify problematic docking portsSupport stock and mod docking portsSupport multidocking (correcting is not yet implemented)Backup quicksave filePlanned FeaturesFull support of multidockingFull support of docking ports with multiple docking modules (partially implemented)Repair docking port problems in quicksave fileChangelogVersion 0.3Automatic quicksave correctionFix: ARM compatibility bugFix: Long strings bug (compatibility with mods which write long strings of data in savefile, like Kethane, SCANsat, ect)More checks added to file analysisVersion 0.2List of critical errors added (errors caused by KSP or mods which usually break docking ports)Docking port UI analysis addedFix: Status "Disabled" now knownVersion 0.1initialHow to useIf you have a problem with docking port:Backup your save files!Make quicksave (F5)Put "Fix my docking.exe" in your save folder near quicksave.sfs. Quicksave shouldn't be open in word processor.Run "Fix my docking.exe"Load quicksave.sfs (F9)Look at "fmd log.txt" for more detailsLog example...39 base comand 1 rootID: 4137735778 Found 6 docking ports 0 part: 15 dockingPort2 ID: 33069350 attached to asasmodule1-2 parent: 3 rootDP: 0 bottom: 3 top: -1 srf: -1 INT: TRUE True > Ready < DockID: 1717145760 == 39 1 0 base comand 1 rootID: 4137735778 Docked (docker) part:27 ID: 1717145760 DockID: 33069350 !I 13 Connected port on same vessel !E 24 Incorrect state of INTERNAL port !I 35 Port has connection !I 39 Port connects to Docked (docker) 1 part: 27 dockingPort2 ID: 1717145760 attached to trussPiece3x parent: 15 rootDP: 15 bottom: 28 top: -1 srf: -1 INT: TRUE True > Docked (docker) < DockID: 33069350 base ing 1 RootID: 3666921736 == 39 0 0 base comand 1 rootID: 4137735778 Ready part:15 ID: 33069350 DockID: 1717145760 !E 4 Docked part connected with non docked part !E 8 Docked vessel name incorrect !E 9 Docked vessel root id incorrect !E 11 Docker not connected with dockee !I 13 Connected port on same vessel !I 35 Port has connection !I 36 Port connects to Ready 2 part: 46 dockingPort2 ID: 603666381 attached to trussPiece3x parent: 45 rootDP: 27 bottom: 45 top: -1 srf: -1 INT: TRUE True > Ready < DockID: 1766022032 == 39 3 0 base comand 1 rootID: 4137735778 Docked (docker) part:67 ID: 1766022032 DockID: 603666381 !I 13 Connected port on same vessel !E 24 Incorrect state of INTERNAL port !I 35 Port has connection !I 39 Port connects to Docked (docker)...Download linksFix my docking v 0.3https://db.tt/KXAZBtreSource https://db.tt/HfBW2PCdLicenseFix my docking is published under CC BY-NC-SA 4.0 license Edited May 13, 2014 by Alo Link to comment Share on other sites More sharing options...
technogeeky Posted April 17, 2014 Share Posted April 17, 2014 (edited) Most people (myself included) would be suspicious of a program that is a drop-in executable like this, when we think that the same thing could be accomplished with an add-on. That executable could do anything (and could be malicious!). And it probably doesn't work on Linux.I'm guessing without looking that the .pas file you have listed as source is a Delphi program. But I would guess that virtually nobody here has a Delphi compiler handy to check that your code isn't malicious.So I would suggest that you find some other way to do this, but other than that -- nice work! Edited April 17, 2014 by technogeeky Link to comment Share on other sites More sharing options...
diomedea Posted April 17, 2014 Share Posted April 17, 2014 ...That said: Most people (myself included) would be suspicious of a program that is a drop-in executable like this, when we think that the same thing could be accomplished with an add-on. That executable could do anything (and could be malicious!). And it probably doesn't work on Linux.I'm guessing without looking that the .pas file you have listed as source is a Delphi program. But I would guess that virtually nobody here has a Delphi compiler handy to check that your code isn't malicious.So I would suggest that you find some other way to do this, but other than that -- nice work!You are right about an exe file possibly being malicious, and certainly not working on other OS's. (though, good Pascal compilers exist for Linux too, so if anybody wants, he can make this work from the sourcefile).And yes, .pas files are sourcecode in Pascal/Delphi. But at least for me, I do have that compiler handy (Pascal actually being my preferred language!). So, checked the code and can say there isn't any malicious part in it (very easy even if not commented - the beauty of Pascal being so easy to read). No bug checking, however.C# has a clear advantage, due to Unity interface with plugins, but there's no rule against any other language. Link to comment Share on other sites More sharing options...
Alo Posted April 17, 2014 Author Share Posted April 17, 2014 technogeeky, thanks for checking grammar.You are right about an exe file possibly being malicious, and certainly not working on other OS's. (though, good Pascal compilers exist for Linux too, so if anybody wants, he can make this work from the sourcefile).And yes, .pas files are sourcecode in Pascal/Delphi. But at least for me, I do have that compiler handy (Pascal actually being my preferred language!). So, checked the code and can say there isn't any malicious part in it (very easy even if not commented - the beauty of Pascal being so easy to read). No bug checking, however.C# has a clear advantage, due to Unity interface with plugins, but there's no rule against any other language.You can open .pas file with notepad.I can try to compile it for Linux. It has no Windows specific functions, but i have no Linux installed to check that.I have no idea how remake it into plugin. It should be bugfix to resolve this problem. Making plugin just to change save files without having some knowledge about docking port problem may cause more errors in saves. The way how next docking port was broken can be a surprise, so i don't want to make any changes in files right now. Link to comment Share on other sites More sharing options...
diomedea Posted April 17, 2014 Share Posted April 17, 2014 You can open .pas file with notepad.I can try to compile it for Linux. It has no Windows specific functions, but i have no Linux installed to check that.I have no idea how remake it into plugin. It should be bugfix to resolve this problem. Making plugin just to change save files without having some knowledge about docking port problem may cause more errors in saves. The way how next docking port was broken can be a surprise, so i don't want to make any changes in files right now.Sure anybody can open *.pas with any text editor. But a proper Pascal/Delphi IDE makes code more readable, and beyond that it actually compiles the .exe (what I actually did, I am not happy when checking if my compiled code is significantly different from what is published). To make a plugin, you will actually totally change how your application works. Please note I am not suggesting you should do that, your tool is conceived so to not require KSP to be runnning, and that leaves out most possible bugs. Beyond that, all plugin functionalities are tied to Unity functions, written in C#. Unless you want to venture into transposing Unity functions in Pascal (possible, but a tedious task), that leaves only C# as an option to write your code. Link to comment Share on other sites More sharing options...
Alo Posted April 17, 2014 Author Share Posted April 17, 2014 No matter, C # or Pascal, the plugin should act differently. While I try to find outcome of docking port bug in save file, plugin should resolve reason of bug. This challenge is much more difficult, i not sure if can i make this.Then i faced docking port bug, i just wanted to have my station working again. Having big save file i tried to make program, that help me to find broken port. And then decided to share it. Link to comment Share on other sites More sharing options...
Vaporizer Posted June 12, 2014 Share Posted June 12, 2014 Thanks, this really helped me. I had a space station with over 20 bugged docking ports and the tool fixed them all Here is the log in case you want it: http://pastebin.com/qGGtqb3w Link to comment Share on other sites More sharing options...
DoctorFoo Posted September 27, 2014 Share Posted September 27, 2014 (In Dalek voice) Update! UPDATE!!!!! Link to comment Share on other sites More sharing options...
Alo Posted October 9, 2014 Author Share Posted October 9, 2014 I've tested FMD 0.3 on 0.25 and it works fine (i.e. not broke anything).If you'll have some bugs with it or broken saves, i'll check it. Link to comment Share on other sites More sharing options...
Viruzzz Posted December 7, 2014 Share Posted December 7, 2014 hi Alo,i wanted to fix the docking port but is not working, the log file Here Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now