I think this is right

I really am clueless

Also this doesn't have the updated GFR, I don't think.
I don't like how this works. I think the MainEditor.cs should just open the TextEditorForm and then TEF should handle this - there's no reason for MainEditor to know anything about res/Msg/bmgres.arc, etc. Also it should use the FileSystem.LoadFileRelative.