Mods, feel free to move this topic if this isn't the right place. Honestly, I'm not sure where this topic should go.
Sometimes after using KSM, I find broken lines in World.ini. They're stuff that was once there but is now missing the first several letters, like "fect(C)=False", or "iftFlagOff(A)=". This effectively compromises the line (as lines like n(A) and fect(C) do nothing), though I don't think it necessarily breaks the room since KSM just makes another copy of the line it broke when it realizes it can't find the line anymore. But I think I have seen signs get copied into another room at least once as a result of this bug.
I will have to look into this more before I pinpoint the cause for sure, but experiments so far seem to suggest two possible causes:
- This might happen when a property is defined and then you undefine it, and when KSM goes to remove the line it only removes half of it.
- This might happen when you add a definition of a previous property (like if you already have Sign(B) and then you add a definition to Sign(A)) to your screen and then when KSM goes to Add that line in, it accidentally overwrites part of the data for the next line (similar to typing in Overtype mode).
Here's a sample of my level's World.ini. Sign text has been removed.
[x1007y1005]
Flag(A)=0
FlagWarpX(A)=3
FlagWarpY(A)=1
lagWarpY(A)=1
[x1015y1005]
Sign(A)=*******
ftFlagOff(C)=
Sign(C)=*******
ShiftSound(C)=None
ShiftQuantize(C)=False
ShiftEffect(C)=False
Sign(B)=*******
ShiftXPos(A)=21
ShiftYPos(A)=5
ShiftXMap(A)=1013
ShiftYMap(A)=1005
ShiftAbsoluteTarget(A)=True
[x1013y1005]
Sign(A)=*******
Sign(B)=*******
ShiftXMap(A)=1015
ShiftYMap(A)=1005
ShiftAbsoluteTarget(A)=True
Sign(C)=*******
n(C)=
ShiftXPos(A)=3
ShiftYPos(A)=5
[x1016y1005]
Sign(A)=*******
Sign(B)=*******
n(C)=
Sign(C)=*******
ShiftQuantize(C)=False
ShiftEffect(C)=False
fect(C)=False