Jump to content

[WIN] KML - Persistence file editor


Mythos

Recommended Posts

Sorry for being late... I was around here almost every day, but somehow I didn't get notified or mail.

On 4/5/2021 at 12:02 PM, Bogey71 said:

Just downloaded it, extracted into a folder and when trying to start the application you first get a security warning from Windows.

Yes, Windows did get more and more suspicious about executables you got from the internet and sometimes warns you about.

On 4/5/2021 at 12:02 PM, Bogey71 said:

Ignored it and then a hint of a screen flashes up for some milliseconds and is gone again...

Did you download the KML_Mono.zip? That is currently a CLI interface only. That might have popped up a console and immediately closed it again. In that case open a console window first and then start KML from there and you should see the output (you need to give parameters anyway).

But for Windows users, there is the KML_Windows.zip. That should show a GUI when the KML.exe is started and does not need (but can do) parameters.

Link to comment
Share on other sites

  • 2 weeks later...
  • 2 months later...

Just dropped by to say THANK YOU.:heart_eyes:

I struggled for days with ignorant (stock) docking ports (my KAS-certified Bill had some very long EVAs searching through many cargo containers full of possible working replacements), that whatever I tried, were unwilling to aquire eachother. Searching through savefile in Notepad++ didnt helped much, either.

But with your nifty tool, i found the coulprits quite easy and could set them both into the respective aquire state to eachother (quicksaved when both ships where mere inches apart) - a reload later and the docking finally happened!

Link to comment
Share on other sites

  • 1 month later...
On 7/4/2021 at 7:45 PM, Cookie0815 said:

Just dropped by to say THANK YOU.:heart_eyes:

@Mythos me as well !! just used your great tool to remove some KerbalEDU specific parts from some vessels in a KerbalEDU 1.4.5 save & loaded it in regular KSP 1.12.2  Thanks!

Link to comment
Share on other sites

  • 3 weeks later...

@Mythos Thanks - I used KML to fix a broken engine fuel flow that happened after undocking. 10 years of development *sigh*

And a feature request... I wish asteroids that I stopped tracking in the Tracking Station would immediately disappear so they don't bloat my savefile with garbage. We can't terminate them in the game because they're unowned objects and they take too long to vanish. I have 82 asteroids now. 

I determined the save file "state" works as follows:

Spoiler

stopped tracking:

            DISCOVERY
            {
                state = 21
                lastObservedTime = 3508083.6512565739
                lifetime = 1282076.0472739476
                refTime = 1728000
                size = 4
            }
            
Still tracking:

            DISCOVERY
            {
                state = 29
                lastObservedTime = 2426413.4753895206
                lifetime = 1124139.6606445313
                refTime = 1728000
                size = 1
            }

never tracked:

            DISCOVERY
            {
                state = 1
                lastObservedTime = 3790354.3286036993
                lifetime = 1132633.2449152297
                refTime = 1728000
                size = 4
            }

So wish #1: the asteroid listing would have an added field for this state, something like: 

VESSEL (Ast. XXX-111, SpaceObject, ORBITING, StoppedTracking)

VESSEL (Ast. XXX-111, SpaceObject, ORBITING, Tracking)

VESSEL (Ast. XXX-111, SpaceObject, ORBITING, NeverTracked)

That would make it a little easier to delete them.

Wish #2: Obviously a "purge asteroids you stopped tracking" function would be faster! A confirmation  box with quantity would be great. Actually... this would be nice for purging debris objects too. 

I'm not the only one...  

 

 

 

Link to comment
Share on other sites

12 hours ago, Krazy1 said:

So wish #1: the asteroid listing would have an added field for this state

I think I can do this. I can confirm the state = 1 and 29. I couldn't find a state = 21 in my current save (I think I haven't dealed with asteroids so far) but also not in my old 1.3.1 save (definitely messed with asteroids quite a lot). In that old one I also have state = -1. What would that be? Is that the ones I grabbed and let loose again? I had quite a lot in circular shells around Kerbin :D

12 hours ago, Krazy1 said:

Wish #2: Obviously a "purge asteroids you stopped tracking" function would be faster! A confirmation  box with quantity would be great. Actually... this would be nice for purging debris objects too.

I remember that we discussed purging debris before and it was pointed out that there are in-game mods for this, which is a much more convenient and clean solution. Maybe some mod can be extended or cloned to do the asteroid cleanup as well? I've never done in-game mods for KSP, maybe you kindly ask in the developer section and someone might grab that up.

Link to comment
Share on other sites

1 hour ago, Mythos said:

In that old one I also have state = -1. What would that be? Is that the ones I grabbed and let loose again?

Yes. I checked one I grabbed, renamed and released and it is state =-1 like so: 

Spoiler

            DISCOVERY
            {
                state = -1
                lastObservedTime = 0
                lifetime = Infinity
                refTime = Infinity
                size = 3
            }

So maybe that could be called "owned" or "grappled and released" ? Technically I'm not sure if you need to grapple it or just get close. 

And one I still have grappled shows up as a part on the ship:

Spoiler

                MODULE
                {
                    name = ModuleAsteroid
                    isEnabled = True
                    seed = -40964942
                    AsteroidName = Ast. FHM-513 <Minmus>
                    prefabBaseURL = Procedural/PA_C
                    currentState = 1
                    stagingEnabled = True
                    EVENTS
                    {
                    }
                    ACTIONS
                    {
                    }
                    UPGRADESAPPLIED
                    {
                    }
                }

(I wonder what happens when it's disabled?)

1 hour ago, Mythos said:

I remember that we discussed purging debris before and it was pointed out that there are in-game mods for this

Oh, sorry. Getting old!

1 hour ago, Mythos said:

I've never done in-game mods for KSP,

I did a tiny one so maybe this will be my next project after ones IRL.

Thanks!

Link to comment
Share on other sites

11 minutes ago, Krazy1 said:

And one I still have grappled shows up as a part on the ship

Technically an asteroid is a vessel itself and thus must contain at least one part. That's what this "PotatoRoid" part is about.

 

5 minutes ago, Krazy1 said:

So maybe that could be called "owned" or "grappled and released"

I just implemented that SpaceObjects show "Tracking" (29) and "Stopped Tracking" (21, full trust in you, didn't start the game to confirm that). And anything else (1, -1, ...) won't have any text.

I'll just give my brain some time to come up with corrections, and then when I remember what to do for a release, this will be in version 0.9.1.

 

Link to comment
Share on other sites

Released 0.9.1, see OP.

20 hours ago, Krazy1 said:

So wish #1: the asteroid listing would have an added field for this state

Included. I now decided to show all 4 known values of discovery status and went with that naming scheme: 

NewDiscovery (1), Tracking (29), StoppedTracking (21) and Visited (-1)

I first decided against CamelCase, since that aren't internal persistence file terms, but then reversed my decision because CamelCase makes it easier to use in CLI, see below.

20 hours ago, Krazy1 said:

Wish #2: Obviously a "purge asteroids you stopped tracking" function would be faster! A confirmation  box with quantity would be great. Actually... this would be nice for purging debris objects too. 

While I don't want to clutter the GUI for some unnecessary or redundant feature, the CLI is much more forgiving and easy to change. In the vessel view '-v' you can now select by type or discovery state, but need to type the full entry then. As before, you can combine that with multiselect '-m'. So you now can purge debris or asteroids stopped tracking with this:

$ ./KML.exe saves/test/persistent.sfs -vm=Debris --delete
$ ./KML.exe saves/test/persistent.sfs -vm=StoppedTracking --delete

Keep in mind that this would also match your precious "Debris Collector Ship", since names only need to match at the start. So don't forget to check the output before you include the '--delete'.

6 hours ago, Krazy1 said:

I did a tiny one so maybe this will be my next project after ones IRL.

Having this cleanup in an in-game mod is the proper approach. Consider the new KML version as a workaround. Since there is an existing debris cleanup mod, you have something your new project can be based on. Good luck with that! :D
 

Edited by Mythos
Link to comment
Share on other sites

1 hour ago, Krazy1 said:

Very nice! I can't wait to try it. Unfortunately Windows Defender blocked it, thinks there's a virus in the Windows .zip:

Trojan:Script/Wacatac.B!ml

Any chance that's real?

Oh no, not such nonsense again. I can reproduce it, if I download the windows zip from github I get the same warning. 

Sadly I cleaned up and don't have the exact same zip local. If I check the KML.exe there is no warning, also not if I zip it again and check that zip.

I can't say wether github somehow changes that zip or not.

But here I checked the zip from URL with an online scanner, don't know how long that report remains available:

https://www.virustotal.com/gui/url/3d53a8eae950b9728eef1523f06aef55e006e15eec187f665ae5943f6779a915/detection

It's fine to them.

Finally, I zipped again with another compression rate and updated the release on github. Now it seems fine to my Defender, please check again.

Link to comment
Share on other sites

Yes, I can reproduce this warning again. But for me it is same Trojan:Script/Wacatac.B!ml

I did try yesterday after I updated the release zip, and there was no warning on my download. Does GitHub touch that zip somehow? This is very annoying :mad:

Other GitHub releases seems to have / have had this issue as well:

Trojan:Win32/Wacatac.B!ml in Blender Launcher · Issue #43 · DotBow/Blender-Launcher (github.com)

Why is Trojan in release zip? · Issue #7 · EndlessMISAKA/AtelierMisaka (github.com)

Windows Warns of a Trojan since the latest update 19-8-21 · Issue #261 · Nnoggie/MythicDungeonTools (github.com)

Windows Defender flags wacatac.B!ml in v0.53.0 as a trojan · Issue #7725 · nwjs/nw.js (github.com)

windows 10 reports trojan in process hacker · Issue #454 · processhacker/processhacker (github.com)

Seems this pops up and might go away with updated signatures.

Edited by Mythos
Link to comment
Share on other sites

In some of the posts I read that you can observe this strange behaviour:

  1. Download the release zip to your standard download folder, see false positive warning, file gets deleted
  2. Create a new folder and set up Defender to exclude that
  3. Download the release zip to new excluded folder, obviously no warning and it remains. But now the fun part:
  4. Copy the zip from excluded folder to standard download folder, call a Defender check there, also no warning, file remains
Link to comment
Share on other sites

I submitted the KML_Windows_v0.9.1.zip to the Defender support. They updated the signatures and when you do this, it should work now:

Submission details (9fa2c800-9d1d-44d7-b04e-a07d33290f48) - Microsoft Security Intelligence

Quote

1. Open command prompt as administrator and change directory to c:\Program Files\Windows Defender
2. Run “MpCmdRun.exe -removedefinitions -dynamicsignatures”
3. Run "MpCmdRun.exe -SignatureUpdate"

 

Link to comment
Share on other sites

Finally got a little time and energy.  After learning a bit of PowerShell, I got it working:

Spoiler


Vessels in "persistent.sfs"

3: VESSEL (Ast. BAX-288, SpaceObject, ORBITING, StoppedTracking)
(deleted)

6: VESSEL (Ast. CEH-176, SpaceObject, ORBITING, StoppedTracking)
(deleted)

7: VESSEL (Ast. CJL-777, SpaceObject, ORBITING, StoppedTracking)
(deleted)

8: VESSEL (Ast. CMC-317, SpaceObject, ORBITING, StoppedTracking)
(deleted)

9: VESSEL (Ast. CXD-177, SpaceObject, ORBITING, StoppedTracking)
(deleted)

12: VESSEL (Ast. ERR-272, SpaceObject, ORBITING, StoppedTracking)
(deleted)

14: VESSEL (Ast. FXT-138, SpaceObject, ORBITING, StoppedTracking)
(deleted)

15: VESSEL (Ast. GBV-089, SpaceObject, ORBITING, StoppedTracking)
(deleted)

16: VESSEL (Ast. GCI-525, SpaceObject, ORBITING, StoppedTracking)
(deleted)

20: VESSEL (Ast. HBN-996, SpaceObject, ORBITING, StoppedTracking)
(deleted)

22: VESSEL (Ast. IBH-826, SpaceObject, ORBITING, StoppedTracking)
(deleted)

24: VESSEL (Ast. JBM-183, SpaceObject, ORBITING, StoppedTracking)
(deleted)

25: VESSEL (Ast. JGF-721, SpaceObject, ORBITING, StoppedTracking)
(deleted)

26: VESSEL (Ast. JKO-648, SpaceObject, ORBITING, StoppedTracking)
(deleted)

27: VESSEL (Ast. JKR-852, SpaceObject, ORBITING, StoppedTracking)
(deleted)

28: VESSEL (Ast. JSZ-441, SpaceObject, ORBITING, StoppedTracking)
(deleted)

30: VESSEL (Ast. JZD-410, SpaceObject, ORBITING, StoppedTracking)
(deleted)

31: VESSEL (Ast. JZO-973, SpaceObject, ORBITING, StoppedTracking)
(deleted)

33: VESSEL (Ast. LBO-776, SpaceObject, ORBITING, StoppedTracking)
(deleted)

36: VESSEL (Ast. LWK-459, SpaceObject, ORBITING, StoppedTracking)
(deleted)

38: VESSEL (Ast. MAF-993, SpaceObject, ORBITING, StoppedTracking)
(deleted)

39: VESSEL (Ast. MAK-281, SpaceObject, ORBITING, StoppedTracking)
(deleted)

41: VESSEL (Ast. NXC-976, SpaceObject, ORBITING, StoppedTracking)
(deleted)

42: VESSEL (Ast. NZI-318, SpaceObject, ORBITING, StoppedTracking)
(deleted)

45: VESSEL (Ast. OZP-301, SpaceObject, ORBITING, StoppedTracking)
(deleted)

46: VESSEL (Ast. PMI-447, SpaceObject, ORBITING, StoppedTracking)
(deleted)

48: VESSEL (Ast. QKC-334, SpaceObject, ORBITING, StoppedTracking)
(deleted)

49: VESSEL (Ast. QKH-081, SpaceObject, ORBITING, StoppedTracking)
(deleted)

50: VESSEL (Ast. RBT-070, SpaceObject, ORBITING, StoppedTracking)
(deleted)

51: VESSEL (Ast. SKK-599, SpaceObject, ORBITING, StoppedTracking)
(deleted)

52: VESSEL (Ast. SMS-110, SpaceObject, ORBITING, StoppedTracking)
(deleted)

54: VESSEL (Ast. SWF-071, SpaceObject, ORBITING, StoppedTracking)
(deleted)

56: VESSEL (Ast. TYJ-075, SpaceObject, ORBITING, StoppedTracking)
(deleted)

57: VESSEL (Ast. UEV-642, SpaceObject, ORBITING, StoppedTracking)
(deleted)

59: VESSEL (Ast. VSK-368, SpaceObject, ORBITING, StoppedTracking)
(deleted)

60: VESSEL (Ast. VUM-929, SpaceObject, ORBITING, StoppedTracking)
(deleted)

61: VESSEL (Ast. WNL-419, SpaceObject, ORBITING, StoppedTracking)
(deleted)

62: VESSEL (Ast. WTU-519, SpaceObject, ORBITING, StoppedTracking)
(deleted)

63: VESSEL (Ast. WYQ-996, SpaceObject, ORBITING, StoppedTracking)
(deleted)

64: VESSEL (Ast. XJN-646, SpaceObject, ORBITING, StoppedTracking)
(deleted)

66: VESSEL (Ast. XOT-536, SpaceObject, ORBITING, StoppedTracking)
(deleted)

67: VESSEL (Ast. XUQ-480, SpaceObject, ORBITING, StoppedTracking)
(deleted)

69: VESSEL (Ast. YDP-040, SpaceObject, ORBITING, StoppedTracking)
(deleted)

70: VESSEL (Ast. YEJ-930, SpaceObject, ORBITING, StoppedTracking)
(deleted)

71: VESSEL (Ast. YQA-009, SpaceObject, ORBITING, StoppedTracking)
(deleted)

72: VESSEL (Ast. YWK-937, SpaceObject, ORBITING, StoppedTracking)
(deleted)

73: VESSEL (Ast. ZEI-704, SpaceObject, ORBITING, StoppedTracking)
(deleted)

75: VESSEL (Ast. ZFQ-633, SpaceObject, ORBITING, StoppedTracking)
(deleted)

76: VESSEL (Ast. ZIW-540, SpaceObject, ORBITING, StoppedTracking)
(deleted)

(backup) zKMLBACKUP20210905170724-persistent.sfs
(saving) persistent.sfs

When I loaded it, I immediately got 6 more new asteroids! I don't have any Sentinels turned on. They're relentless.

Thanks!

Link to comment
Share on other sites

  • 2 weeks later...

Hi,  great work, great functionality, will be using it, as is,  real soon, 

I also like the under the hood src code. (I peeked).

If anything below sounds interesting/useful feel free to start a dialog.

===================

just heads up
... (or maybe an opportunity)
... (or maybe I wont go anywhere with this like last time)(hoping the long term stability of KSP 1.12 encourages me)

I will be forking your KML code.  I have some things I want that I don't think fit comfortably in your project space, but require either I roll my own KML reader or start from yours.

In doing so I may find stuff that your project could do with. Having stood on your shoulders and borrowed your code, happy to give back.


One thing I think I have found that may be of more general use is: USI life support makes "Vessel_data" nodes and they get left behind when the ship is deleted. (or explodes into debris) 
(or at least that happened in my save game, with 41 mods running ...)
I will probably need to write some code to clean those up and understand them.

I will also be writing some code to find every UID (any thing that looks like one), identify whether that is a known to me UID cross reference type or something new hence potentially something my automagic edit code may not understand. It might help you proactively find anything about the files that breaks stuff when edited. 

=======================================

I will need the vessel_data understanding as my real goal (step 0) is to:   make a fork and merge  cli. (think source code repository functionality but for KSP save files ...)

Where I can fork some vessels out of a save game (take some fluff (relay network with that))

Do something like land a return capsule on kerbin 

Then play the other fork (do something time critical like a periapsis capture burn in the same time window as the atmospheric reentry)

Then merge the two. (knowing intelligently what to do with fluff (one branch is master and if it fiddled with the relay network it owned them.)(perhaps the periapsis burn was also a relay satellite...)

=======================================

Step 1 (comes after step 0 (a spike solution)) would be an actual mod will be to give that a sweet UI like FMRS. (the source inspiration)

=======================================

As my final use case will be to have the save file editing occur unsupervised. I will also likely be tweaking the KML parser to be OCD levels of strict on what it expects

EGs (it will notice if there is missing tab ,  or missing whitespace before or after an equals etc. respect preserve /r/n or just /n )(the whole 9 yards)

Edited by AxleGreaser
Link to comment
Share on other sites

53 minutes ago, AxleGreaser said:

If anything below sounds interesting/useful feel free to start a dialog.

I don't run all of your mods, so I probably don't fully understand your problems and their need for solutions :D

54 minutes ago, AxleGreaser said:

I will be forking your KML code.  I have some things I want that I don't think fit comfortably in your project space, but require either I roll my own KML reader or start from yours.

It's open source. Feel free to use it. You're probably right about me not wanting too mod-specific stuff in a general KSP save editor.

57 minutes ago, AxleGreaser said:

In doing so I may find stuff that your project could do with.

If you have certain aspects that the general audience might benefit from, and you manage to break down your work into smaller pieces, pull requests are welcome.

1 hour ago, AxleGreaser said:

One thing I think I have found that may be of more general use is: USI life support makes "Vessel_data" nodes and they get left behind when the ship is deleted.

Well, that sounds annoying. The save file structure clearly wants any additional data to a vessel to reside as a subnode (some MODULE) within the VESSEL. As such it should be deleted with it. If there is a "Vessel_data" next to the VESSELs, or somewhere completely different, that's really bad design.

1 hour ago, AxleGreaser said:

I will also be writing some code to find every UID (any thing that looks like one), identify whether that is a known to me UID cross reference type or something new hence potentially something my automagic edit code may not understand. It might help you proactively find anything about the files that breaks stuff when edited.

I have seen at least "uid", "vesselID", "partID", "pid", "persistentID", "launchID", and no idea what those could be "cid" and "mid". From looking at those you get the idea that different features have been implemented by different teams, not talking to each other. One feature (e.g. type of contract) uses that naming sceme to refer to each other, the other one, by no reason, invented a new name for the same idea, using different numbers of course. So, good luck with that :confused:

But yes, messed up IDs is a thing. And when I personally got annoyed by non-functioning contracts, I implemented a check in KML for at least that small part of the mess, that I could make sense of.

I also remember someone mentioning messed up IDs in craft files. But since craft file support is a rather neglected feature in KML, I never got deeper into that :blush:

Link to comment
Share on other sites

  • 2 months later...

Perhaps this a stupid question. I launched a couple of new modules to add to a space station around MinMus when I came to dock them I realised that I had a regular Clamp-o-tron Docking Port on one and a Construction Port on the other - is it possible to delete one port and replace it with a compatible port so i can dock the two vessels? And, if so, how?

Link to comment
Share on other sites

2 hours ago, Malcymalc said:

Perhaps this a stupid question. I launched a couple of new modules to add to a space station around MinMus when I came to dock them I realised that I had a regular Clamp-o-tron Docking Port on one and a Construction Port on the other - is it possible to delete one port and replace it with a compatible port so i can dock the two vessels? And, if so, how?

Erh, yes.

It's a bit tricky but given that you have to ID's of both you should be able to cut and paste to change the ID of one of them.

But the positioning might be and issue,

Anyway, take backup copy of your savefile and try.

 

Link to comment
Share on other sites

4 hours ago, Malcymalc said:

Perhaps this a stupid question. I launched a couple of new modules to add to a space station around MinMus when I came to dock them I realised that I had a regular Clamp-o-tron Docking Port on one and a Construction Port on the other - is it possible to delete one port and replace it with a compatible port so i can dock the two vessels? And, if so, how?

I agree with what @Curveball Anders said. Some more details how to try:

Locate a funtioning non-occupied Clamp-O-Tron on some vessel and select "copy node" on the part.

Then find the Construction Port (what part is that exactly?) within the non-functioning vessel. Select that and click "paste inserting node before".

Then you need to copy a bunch of attributes directly within the original part to the inserted one, overwriting the copied entries: cid, uid, mid, persistendId, launchID, parent, position, rotation, srfN, attN (and maybe more). This should make the copied part to be attached in the same way the original part is.

Finally delete the original part.

2 hours ago, Curveball Anders said:

But the positioning might be and issue,

It might look odd when you look in KSP. You then have to tweak the "position" and "rotation" attributes with some maths and a lot of trial and error.

Edited by Mythos
Link to comment
Share on other sites

On 11/29/2021 at 12:48 AM, Mythos said:

I agree with what @Curveball Anders said. Some more details how to try:

Locate a funtioning non-occupied Clamp-O-Tron on some vessel and select "copy node" on the part.

Then find the Construction Port (what part is that exactly?) within the non-functioning vessel. Select that and click "paste inserting node before".

Then you need to copy a bunch of attributes directly within the original part to the inserted one, overwriting the copied entries: cid, uid, mid, persistendId, launchID, parent, position, rotation, srfN, attN (and maybe more). This should make the copied part to be attached in the same way the original part is.

Finally delete the original part.

It might look odd when you look in KSP. You then have to tweak the "position" and "rotation" attributes with some maths and a lot of trial and error.

Hello,

Thanks for the prompt and very full answer. Unfortunately that sounds way beyond my abilities! So I launched a supply vessel for the MinMus Station with a simple adapter piece (Clamp-o-tron Docking Port on one side and a Clamp-o-tron Construction Port on the other), docked it with the Station, then docked the original ship with the new adapter. I thought about carrying up a new docking port and replacing it with KAS - but I've never really mastered the system in orbit.

The Construction Port is a piece from KIS/KAS - essentially it works just like a regular docking port but there's an extra button on the pop-up menu that offers the option to "weld the port" (or something like that). You click on it and there's a little puff of smoke and the docking port disappears leaving the two segments previously docked looking like you assembled them in the VAB. It's supposed to reduce the part count or something like that (you can tell I'm highly technically minded when it comes to this kind of thing). 

 Malc

Link to comment
Share on other sites

  • 2 weeks later...
  • 1 month later...

I want to figure out what takes most of the place in the save file: maybe some mod SCENARIO is huge, maybe just FLIGHTSTATE is huge, etc.

Line counter for every node on every level could be helpful.
It could be switchable if it will be notable perfomance-wise
 

Link to comment
Share on other sites

1 hour ago, flart said:

I want to figure out what takes most of the place in the save file

Yeah, it's in general a pretty wasteful format.

1 hour ago, flart said:

Line counter for every node on every level could be helpful.
It could be switchable if it will be notable perfomance-wise

Never thought about something like that. All the lines are read anyway, shouldn't impact the performance. But right now I wouldn't know where to display that, don't want to overload the GUI. I will think about that.

Edit: Did a quick test and have it displayed in the context menu. It's updated each time the context menu opens, so it is up to date and still pretty fine performance wise. You probably don't want to click on each node for your task, but that is was you would have to do in Windows File Explorer as well. And there it doesn't annoy all the others who never cared about line count :wink:

Edited by Mythos
Did a quick test
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...