{"action":"created","comment":{"url":"https://api.github.com/repos/minetest/minetest/pulls/comments/234416433","pull_request_review_id":176062199,"id":234416433,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIzNDQxNjQzMw==","diff_hunk":"@@ -204,6 +207,10 @@ keymap_rangeselect (Range select key) key KEY_KEY_R\n #    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3\n keymap_freemove (Fly key) key KEY_KEY_K\n \n+#    Key for toggling pitch fly mode.\n+#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3\n+keymap_freemove (Pitch fly key) key KEY_KEY_L","path":"builtin/settingtypes.txt","position":16,"original_position":16,"commit_id":"5440d729d18945044b50d2f9015261f0134ea801","original_commit_id":"5440d729d18945044b50d2f9015261f0134ea801","user":{"login":"SmallJoker","id":1497498,"node_id":"MDQ6VXNlcjE0OTc0OTg=","avatar_url":"https://avatars1.githubusercontent.com/u/1497498?v=4","gravatar_id":"","url":"https://api.github.com/users/SmallJoker","html_url":"https://github.com/SmallJoker","followers_url":"https://api.github.com/users/SmallJoker/followers","following_url":"https://api.github.com/users/SmallJoker/following{/other_user}","gists_url":"https://api.github.com/users/SmallJoker/gists{/gist_id}","starred_url":"https://api.github.com/users/SmallJoker/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SmallJoker/subscriptions","organizations_url":"https://api.github.com/users/SmallJoker/orgs","repos_url":"https://api.github.com/users/SmallJoker/repos","events_url":"https://api.github.com/users/SmallJoker/events{/privacy}","received_events_url":"https://api.github.com/users/SmallJoker/received_events","type":"User","site_admin":false},"body":"Would you please be so nice and update the README file as well?","created_at":"2018-11-17T18:07:04Z","updated_at":"2018-11-17T18:08:42Z","html_url":"https://github.com/minetest/minetest/pull/7817#discussion_r234416433","pull_request_url":"https://api.github.com/repos/minetest/minetest/pulls/7817","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/minetest/minetest/pulls/comments/234416433"},"html":{"href":"https://github.com/minetest/minetest/pull/7817#discussion_r234416433"},"pull_request":{"href":"https://api.github.com/repos/minetest/minetest/pulls/7817"}},"in_reply_to_id":234410991},"pull_request":{"url":"https://api.github.com/repos/minetest/minetest/pulls/7817","id":225814532,"node_id":"MDExOlB1bGxSZXF1ZXN0MjI1ODE0NTMy","html_url":"https://github.com/minetest/minetest/pull/7817","diff_url":"https://github.com/minetest/minetest/pull/7817.diff","patch_url":"https://github.com/minetest/minetest/pull/7817.patch","issue_url":"https://api.github.com/repos/minetest/minetest/issues/7817","number":7817,"state":"open","locked":false,"title":"Add pitch fly mode","user":{"login":"Gael-de-Sailly","id":6905002,"node_id":"MDQ6VXNlcjY5MDUwMDI=","avatar_url":"https://avatars2.githubusercontent.com/u/6905002?v=4","gravatar_id":"","url":"https://api.github.com/users/Gael-de-Sailly","html_url":"https://github.com/Gael-de-Sailly","followers_url":"https://api.github.com/users/Gael-de-Sailly/followers","following_url":"https://api.github.com/users/Gael-de-Sailly/following{/other_user}","gists_url":"https://api.github.com/users/Gael-de-Sailly/gists{/gist_id}","starred_url":"https://api.github.com/users/Gael-de-Sailly/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Gael-de-Sailly/subscriptions","organizations_url":"https://api.github.com/users/Gael-de-Sailly/orgs","repos_url":"https://api.github.com/users/Gael-de-Sailly/repos","events_url":"https://api.github.com/users/Gael-de-Sailly/events{/privacy}","received_events_url":"https://api.github.com/users/Gael-de-Sailly/received_events","type":"User","site_admin":false},"body":"This adds a new, optional fly mode, in which the movement follows the exact direction the player is pointing at (including pitch), instead of moving horizontally and vertically separately.\r\nIt works exactly like the normal fly mode, except that all directions (forward, backward, up, down, left, right) are relative to the player's yaw *and* pitch, instead of only yaw. It can be enabled and disabled using a key (by default L).\r\n\r\n[Demonstration on YouTube](https://www.youtube.com/watch?v=3sW_tyB2oYQ)\r\n\r\nI spent some time testing it yesterday, it did not take me much time to handle it well, and it clearly makes easier to do some difficult moves, like flying in a cave. The moves are also smoother, I feel like in an airplane.\r\n\r\nThis PR may not be ready for merging, as there remains some weirdness (the player slightly deviates from its trajectory at the beginning and the end of a move).\r\nAlso I would like to find a better name than \"pitch fly\" for this feature (do you have any idea?).\r\nI'm open to discussion about the choices I had to make (like the toggle key, the vector rotation that is performed at the end of the calculation instead of the beginning, etc.), I would also like to have some feedback about the concept itself before doing more polishing if needed.","created_at":"2018-10-25T15:54:33Z","updated_at":"2018-11-17T18:08:41Z","closed_at":null,"merged_at":null,"merge_commit_sha":"1f358433f17be0221a3d8352451ae7607e9da290","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":471238548,"node_id":"MDU6TGFiZWw0NzEyMzg1NDg=","url":"https://api.github.com/repos/minetest/minetest/labels/Feature","name":"Feature","color":"0052cc","default":false},{"id":110411003,"node_id":"MDU6TGFiZWwxMTA0MTEwMDM=","url":"https://api.github.com/repos/minetest/minetest/labels/WIP","name":"WIP","color":"aa3000","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/minetest/minetest/pulls/7817/commits","review_comments_url":"https://api.github.com/repos/minetest/minetest/pulls/7817/comments","review_comment_url":"https://api.github.com/repos/minetest/minetest/pulls/comments{/number}","comments_url":"https://api.github.com/repos/minetest/minetest/issues/7817/comments","statuses_url":"https://api.github.com/repos/minetest/minetest/statuses/5440d729d18945044b50d2f9015261f0134ea801","head":{"label":"Gael-de-Sailly:pitchfly","ref":"pitchfly","sha":"5440d729d18945044b50d2f9015261f0134ea801","user":{"login":"Gael-de-Sailly","id":6905002,"node_id":"MDQ6VXNlcjY5MDUwMDI=","avatar_url":"https://avatars2.githubusercontent.com/u/6905002?v=4","gravatar_id":"","url":"https://api.github.com/users/Gael-de-Sailly","html_url":"https://github.com/Gael-de-Sailly","followers_url":"https://api.github.com/users/Gael-de-Sailly/followers","following_url":"https://api.github.com/users/Gael-de-Sailly/following{/other_user}","gists_url":"https://api.github.com/users/Gael-de-Sailly/gists{/gist_id}","starred_url":"https://api.github.com/users/Gael-de-Sailly/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Gael-de-Sailly/subscriptions","organizations_url":"https://api.github.com/users/Gael-de-Sailly/orgs","repos_url":"https://api.github.com/users/Gael-de-Sailly/repos","events_url":"https://api.github.com/users/Gael-de-Sailly/events{/privacy}","received_events_url":"https://api.github.com/users/Gael-de-Sailly/received_events","type":"User","site_admin":false},"repo":{"id":28510695,"node_id":"MDEwOlJlcG9zaXRvcnkyODUxMDY5NQ==","name":"minetest","full_name":"Gael-de-Sailly/minetest","private":false,"owner":{"login":"Gael-de-Sailly","id":6905002,"node_id":"MDQ6VXNlcjY5MDUwMDI=","avatar_url":"https://avatars2.githubusercontent.com/u/6905002?v=4","gravatar_id":"","url":"https://api.github.com/users/Gael-de-Sailly","html_url":"https://github.com/Gael-de-Sailly","followers_url":"https://api.github.com/users/Gael-de-Sailly/followers","following_url":"https://api.github.com/users/Gael-de-Sailly/following{/other_user}","gists_url":"https://api.github.com/users/Gael-de-Sailly/gists{/gist_id}","starred_url":"https://api.github.com/users/Gael-de-Sailly/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Gael-de-Sailly/subscriptions","organizations_url":"https://api.github.com/users/Gael-de-Sailly/orgs","repos_url":"https://api.github.com/users/Gael-de-Sailly/repos","events_url":"https://api.github.com/users/Gael-de-Sailly/events{/privacy}","received_events_url":"https://api.github.com/users/Gael-de-Sailly/received_events","type":"User","site_admin":false},"html_url":"https://github.com/Gael-de-Sailly/minetest","description":"Minetest, an open source infinite-world block sandbox game with survival and crafting. [also https://github.com/minetest/minetest_game]","fork":true,"url":"https://api.github.com/repos/Gael-de-Sailly/minetest","forks_url":"https://api.github.com/repos/Gael-de-Sailly/minetest/forks","keys_url":"https://api.github.com/repos/Gael-de-Sailly/minetest/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Gael-de-Sailly/minetest/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Gael-de-Sailly/minetest/teams","hooks_url":"https://api.github.com/repos/Gael-de-Sailly/minetest/hooks","issue_events_url":"https://api.github.com/repos/Gael-de-Sailly/minetest/issues/events{/number}","events_url":"https://api.github.com/repos/Gael-de-Sailly/minetest/events","assignees_url":"https://api.github.com/repos/Gael-de-Sailly/minetest/assignees{/user}","branches_url":"https://api.github.com/repos/Gael-de-Sailly/minetest/branches{/branch}","tags_url":"https://api.github.com/repos/Gael-de-Sailly/minetest/tags","blobs_url":"https://api.github.com/repos/Gael-de-Sailly/minetest/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Gael-de-Sailly/minetest/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Gael-de-Sailly/minetest/git/refs{/sha}","trees_url":"https://api.github.com/repos/Gael-de-Sailly/minetest/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Gael-de-Sailly/minetest/statuses/{sha}","languages_url":"https://api.github.com/repos/Gael-de-Sailly/minetest/languages","stargazers_url":"https://api.github.com/repos/Gael-de-Sailly/minetest/stargazers","contributors_url":"https://api.github.com/repos/Gael-de-Sailly/minetest/contributors","subscribers_url":"https://api.github.com/repos/Gael-de-Sailly/minetest/subscribers","subscription_url":"https://api.github.com/repos/Gael-de-Sailly/minetest/subscription","commits_url":"https://api.github.com/repos/Gael-de-Sailly/minetest/commits{/sha}","git_commits_url":"https://api.github.com/repos/Gael-de-Sailly/minetest/git/commits{/sha}","comments_url":"https://api.github.com/repos/Gael-de-Sailly/minetest/comments{/number}","issue_comment_url":"https://api.github.com/repos/Gael-de-Sailly/minetest/issues/comments{/number}","contents_url":"https://api.github.com/repos/Gael-de-Sailly/minetest/contents/{+path}","compare_url":"https://api.github.com/repos/Gael-de-Sailly/minetest/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Gael-de-Sailly/minetest/merges","archive_url":"https://api.github.com/repos/Gael-de-Sailly/minetest/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Gael-de-Sailly/minetest/downloads","issues_url":"https://api.github.com/repos/Gael-de-Sailly/minetest/issues{/number}","pulls_url":"https://api.github.com/repos/Gael-de-Sailly/minetest/pulls{/number}","milestones_url":"https://api.github.com/repos/Gael-de-Sailly/minetest/milestones{/number}","notifications_url":"https://api.github.com/repos/Gael-de-Sailly/minetest/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Gael-de-Sailly/minetest/labels{/name}","releases_url":"https://api.github.com/repos/Gael-de-Sailly/minetest/releases{/id}","deployments_url":"https://api.github.com/repos/Gael-de-Sailly/minetest/deployments","created_at":"2014-12-26T12:48:36Z","updated_at":"2016-02-20T19:19:00Z","pushed_at":"2018-11-17T15:00:08Z","git_url":"git://github.com/Gael-de-Sailly/minetest.git","ssh_url":"git@github.com:Gael-de-Sailly/minetest.git","clone_url":"https://github.com/Gael-de-Sailly/minetest.git","svn_url":"https://github.com/Gael-de-Sailly/minetest","homepage":"http://minetest.net/","size":59154,"stargazers_count":0,"watchers_count":0,"language":"C++","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":null,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"minetest:master","ref":"master","sha":"e5a37543cc7932f6252a086b4b8619b5dde9ae5a","user":{"login":"minetest","id":2624745,"node_id":"MDEyOk9yZ2FuaXphdGlvbjI2MjQ3NDU=","avatar_url":"https://avatars1.githubusercontent.com/u/2624745?v=4","gravatar_id":"","url":"https://api.github.com/users/minetest","html_url":"https://github.com/minetest","followers_url":"https://api.github.com/users/minetest/followers","following_url":"https://api.github.com/users/minetest/following{/other_user}","gists_url":"https://api.github.com/users/minetest/gists{/gist_id}","starred_url":"https://api.github.com/users/minetest/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/minetest/subscriptions","organizations_url":"https://api.github.com/users/minetest/orgs","repos_url":"https://api.github.com/users/minetest/repos","events_url":"https://api.github.com/users/minetest/events{/privacy}","received_events_url":"https://api.github.com/users/minetest/received_events","type":"Organization","site_admin":false},"repo":{"id":2168780,"node_id":"MDEwOlJlcG9zaXRvcnkyMTY4Nzgw","name":"minetest","full_name":"minetest/minetest","private":false,"owner":{"login":"minetest","id":2624745,"node_id":"MDEyOk9yZ2FuaXphdGlvbjI2MjQ3NDU=","avatar_url":"https://avatars1.githubusercontent.com/u/2624745?v=4","gravatar_id":"","url":"https://api.github.com/users/minetest","html_url":"https://github.com/minetest","followers_url":"https://api.github.com/users/minetest/followers","following_url":"https://api.github.com/users/minetest/following{/other_user}","gists_url":"https://api.github.com/users/minetest/gists{/gist_id}","starred_url":"https://api.github.com/users/minetest/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/minetest/subscriptions","organizations_url":"https://api.github.com/users/minetest/orgs","repos_url":"https://api.github.com/users/minetest/repos","events_url":"https://api.github.com/users/minetest/events{/privacy}","received_events_url":"https://api.github.com/users/minetest/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/minetest/minetest","description":"Minetest, an open source infinite-world block sandbox game engine with support for survival and crafting. Also see https://github.com/minetest/minetest_game","fork":false,"url":"https://api.github.com/repos/minetest/minetest","forks_url":"https://api.github.com/repos/minetest/minetest/forks","keys_url":"https://api.github.com/repos/minetest/minetest/keys{/key_id}","collaborators_url":"https://api.github.com/repos/minetest/minetest/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/minetest/minetest/teams","hooks_url":"https://api.github.com/repos/minetest/minetest/hooks","issue_events_url":"https://api.github.com/repos/minetest/minetest/issues/events{/number}","events_url":"https://api.github.com/repos/minetest/minetest/events","assignees_url":"https://api.github.com/repos/minetest/minetest/assignees{/user}","branches_url":"https://api.github.com/repos/minetest/minetest/branches{/branch}","tags_url":"https://api.github.com/repos/minetest/minetest/tags","blobs_url":"https://api.github.com/repos/minetest/minetest/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/minetest/minetest/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/minetest/minetest/git/refs{/sha}","trees_url":"https://api.github.com/repos/minetest/minetest/git/trees{/sha}","statuses_url":"https://api.github.com/repos/minetest/minetest/statuses/{sha}","languages_url":"https://api.github.com/repos/minetest/minetest/languages","stargazers_url":"https://api.github.com/repos/minetest/minetest/stargazers","contributors_url":"https://api.github.com/repos/minetest/minetest/contributors","subscribers_url":"https://api.github.com/repos/minetest/minetest/subscribers","subscription_url":"https://api.github.com/repos/minetest/minetest/subscription","commits_url":"https://api.github.com/repos/minetest/minetest/commits{/sha}","git_commits_url":"https://api.github.com/repos/minetest/minetest/git/commits{/sha}","comments_url":"https://api.github.com/repos/minetest/minetest/comments{/number}","issue_comment_url":"https://api.github.com/repos/minetest/minetest/issues/comments{/number}","contents_url":"https://api.github.com/repos/minetest/minetest/contents/{+path}","compare_url":"https://api.github.com/repos/minetest/minetest/compare/{base}...{head}","merges_url":"https://api.github.com/repos/minetest/minetest/merges","archive_url":"https://api.github.com/repos/minetest/minetest/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/minetest/minetest/downloads","issues_url":"https://api.github.com/repos/minetest/minetest/issues{/number}","pulls_url":"https://api.github.com/repos/minetest/minetest/pulls{/number}","milestones_url":"https://api.github.com/repos/minetest/minetest/milestones{/number}","notifications_url":"https://api.github.com/repos/minetest/minetest/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/minetest/minetest/labels{/name}","releases_url":"https://api.github.com/repos/minetest/minetest/releases{/id}","deployments_url":"https://api.github.com/repos/minetest/minetest/deployments","created_at":"2011-08-07T13:48:36Z","updated_at":"2018-11-17T17:57:56Z","pushed_at":"2018-11-17T15:00:10Z","git_url":"git://github.com/minetest/minetest.git","ssh_url":"git@github.com:minetest/minetest.git","clone_url":"https://github.com/minetest/minetest.git","svn_url":"https://github.com/minetest/minetest","homepage":"http://minetest.net/","size":59721,"stargazers_count":3561,"watchers_count":3561,"language":"C++","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":951,"mirror_url":null,"archived":false,"open_issues_count":835,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":951,"open_issues":835,"watchers":3561,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/minetest/minetest/pulls/7817"},"html":{"href":"https://github.com/minetest/minetest/pull/7817"},"issue":{"href":"https://api.github.com/repos/minetest/minetest/issues/7817"},"comments":{"href":"https://api.github.com/repos/minetest/minetest/issues/7817/comments"},"review_comments":{"href":"https://api.github.com/repos/minetest/minetest/pulls/7817/comments"},"review_comment":{"href":"https://api.github.com/repos/minetest/minetest/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/minetest/minetest/pulls/7817/commits"},"statuses":{"href":"https://api.github.com/repos/minetest/minetest/statuses/5440d729d18945044b50d2f9015261f0134ea801"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"SmallJoker"}}