{"action":"created","issue":{"url":"https://api.github.com/repos/jsettlers/settlers-remake/issues/67","labels_url":"https://api.github.com/repos/jsettlers/settlers-remake/issues/67/labels{/name}","comments_url":"https://api.github.com/repos/jsettlers/settlers-remake/issues/67/comments","events_url":"https://api.github.com/repos/jsettlers/settlers-remake/issues/67/events","html_url":"https://github.com/jsettlers/settlers-remake/issues/67","id":72781770,"number":67,"title":"Prefer platform-independent file paths","user":{"login":"nevson","id":12156191,"avatar_url":"https://avatars.githubusercontent.com/u/12156191?v=3","gravatar_id":"","url":"https://api.github.com/users/nevson","html_url":"https://github.com/nevson","followers_url":"https://api.github.com/users/nevson/followers","following_url":"https://api.github.com/users/nevson/following{/other_user}","gists_url":"https://api.github.com/users/nevson/gists{/gist_id}","starred_url":"https://api.github.com/users/nevson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nevson/subscriptions","organizations_url":"https://api.github.com/users/nevson/orgs","repos_url":"https://api.github.com/users/nevson/repos","events_url":"https://api.github.com/users/nevson/events{/privacy}","received_events_url":"https://api.github.com/users/nevson/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":{"login":"andreas-eberle","id":9267365,"avatar_url":"https://avatars.githubusercontent.com/u/9267365?v=3","gravatar_id":"","url":"https://api.github.com/users/andreas-eberle","html_url":"https://github.com/andreas-eberle","followers_url":"https://api.github.com/users/andreas-eberle/followers","following_url":"https://api.github.com/users/andreas-eberle/following{/other_user}","gists_url":"https://api.github.com/users/andreas-eberle/gists{/gist_id}","starred_url":"https://api.github.com/users/andreas-eberle/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andreas-eberle/subscriptions","organizations_url":"https://api.github.com/users/andreas-eberle/orgs","repos_url":"https://api.github.com/users/andreas-eberle/repos","events_url":"https://api.github.com/users/andreas-eberle/events{/privacy}","received_events_url":"https://api.github.com/users/andreas-eberle/received_events","type":"User","site_admin":false},"milestone":null,"comments":9,"created_at":"2015-05-03T09:59:00Z","updated_at":"2015-06-11T16:16:56Z","closed_at":"2015-06-11T16:16:56Z","body":"Hi, when running jsettlers directly under windows it fails finding the gfx and sound folder due to invalid path joining, [see here](https://github.com/jsettlers/settlers-remake/blob/48fe9246f77bbf2d823a79e6715c63201f464278/jsettlers.graphics.swing/src/jsettlers/graphics/swing/resources/ConfigurationPropertiesFile.java#L71). It creates a file paths which are looking like `C\\:\\\\...\\\\JSettlers/Gfx` so the path contains invalid characters.\r\n\r\nI'd recommend to use `Paths.get()` to join paths and return a `Path[]` array instead of a `String[]` array. E.g.:\r\n```java\r\nresult[resultIdx++] = Paths.get(settlersFolder[folderIdx], subfolders[subfolderIdx]);\r\n```\r\nThis way you could [replace these kind of checks](https://github.com/jsettlers/settlers-remake/blob/48fe9246f77bbf2d823a79e6715c63201f464278/jsettlers.graphics.swing/src/jsettlers/graphics/swing/resources/SwingResourceLoader.java#L67) against following generic file check:\r\n```java\r\nhasSndDir = hasSndDir || Files.exists(sndFolder.resolve(\"Siedler3_00.dat\"));\r\n```\r\n\r\nIn case you need to get the File object due to some legacy code, you can get it via `path.toFile()`. But generally it's recommended to use the newer Path class over the legacy File class.\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/jsettlers/settlers-remake/issues/comments/111190240","html_url":"https://github.com/jsettlers/settlers-remake/issues/67#issuecomment-111190240","issue_url":"https://api.github.com/repos/jsettlers/settlers-remake/issues/67","id":111190240,"user":{"login":"andreas-eberle","id":9267365,"avatar_url":"https://avatars.githubusercontent.com/u/9267365?v=3","gravatar_id":"","url":"https://api.github.com/users/andreas-eberle","html_url":"https://github.com/andreas-eberle","followers_url":"https://api.github.com/users/andreas-eberle/followers","following_url":"https://api.github.com/users/andreas-eberle/following{/other_user}","gists_url":"https://api.github.com/users/andreas-eberle/gists{/gist_id}","starred_url":"https://api.github.com/users/andreas-eberle/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andreas-eberle/subscriptions","organizations_url":"https://api.github.com/users/andreas-eberle/orgs","repos_url":"https://api.github.com/users/andreas-eberle/repos","events_url":"https://api.github.com/users/andreas-eberle/events{/privacy}","received_events_url":"https://api.github.com/users/andreas-eberle/received_events","type":"User","site_admin":false},"created_at":"2015-06-11T16:16:56Z","updated_at":"2015-06-11T16:16:56Z","body":"I close this, as it seems fixed."}}