{"action":"created","comment":{"url":"https://api.github.com/repos/scummvm/scummvm/pulls/comments/29992988","id":29992988,"diff_hunk":"@@ -0,0 +1,104 @@\n+/* ScummVM - Graphic Adventure Engine\n+ *\n+ * ScummVM is the legal property of its developers, whose names\n+ * are too numerous to list here. Please refer to the COPYRIGHT\n+ * file distributed with this source distribution.\n+ *\n+ * This program is free software; you can redistribute it and/or\n+ * modify it under the terms of the GNU General Public License\n+ * as published by the Free Software Foundation; either version 2\n+ * of the License, or (at your option) any later version.\n+\n+ * This program is distributed in the hope that it will be useful,\n+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\n+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n+ * GNU General Public License for more details.\n+\n+ * You should have received a copy of the GNU General Public License\n+ * along with this program; if not, write to the Free Software\n+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n+ *\n+ */\n+\n+#ifndef SHERLOCK_EVENTS_H\n+#define SHERLOCK_EVENTS_H\n+\n+#include \"common/scummsys.h\"\n+#include \"common/events.h\"\n+#include \"common/stack.h\"\n+#include \"sherlock/resources.h\"\n+\n+namespace Sherlock {\n+\n+#define GAME_FRAME_RATE 60\n+#define GAME_FRAME_TIME (1000 / GAME_FRAME_RATE)\n+\n+enum CursorId { ARROW = 0, MAGNIFY = 1, WAIT = 2, INVALID_CURSOR = -1 };\n+\n+class SherlockEngine;\n+\n+class Events {\n+private:\n+\tSherlockEngine *_vm;\n+\tuint32 _frameCounter;\n+\tuint32 _priorFrameTime;\n+\tCommon::Point _mousePos;\n+\tImageFile *_cursorImages;\n+\tint _mouseButtons;\n+\n+\tbool checkForNextFrameCounter();\n+public:\n+\tCursorId _cursorId;\n+\tbool _pressed;","path":"engines/sherlock/events.h","position":52,"original_position":52,"commit_id":"8306451462e6ffa91ac3bf76e30b43f3777dbd89","original_commit_id":"f622d7471e7f04f92c728cab7de9dd0a109886c3","user":{"login":"dreammaster","id":552828,"avatar_url":"https://avatars.githubusercontent.com/u/552828?v=3","gravatar_id":"","url":"https://api.github.com/users/dreammaster","html_url":"https://github.com/dreammaster","followers_url":"https://api.github.com/users/dreammaster/followers","following_url":"https://api.github.com/users/dreammaster/following{/other_user}","gists_url":"https://api.github.com/users/dreammaster/gists{/gist_id}","starred_url":"https://api.github.com/users/dreammaster/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dreammaster/subscriptions","organizations_url":"https://api.github.com/users/dreammaster/orgs","repos_url":"https://api.github.com/users/dreammaster/repos","events_url":"https://api.github.com/users/dreammaster/events{/privacy}","received_events_url":"https://api.github.com/users/dreammaster/received_events","type":"User","site_admin":false},"body":"Understandable; as I mentioned in one of the other comments just now, despite all my work on the engine so far, there are some fine detail areas like these where I simply implemented similar variables as the original used, since presumably they were the way they were/are for a reason.","created_at":"2015-05-09T14:31:12Z","updated_at":"2015-05-09T14:31:12Z","html_url":"https://github.com/scummvm/scummvm/pull/595#discussion_r29992988","pull_request_url":"https://api.github.com/repos/scummvm/scummvm/pulls/595","_links":{"self":{"href":"https://api.github.com/repos/scummvm/scummvm/pulls/comments/29992988"},"html":{"href":"https://github.com/scummvm/scummvm/pull/595#discussion_r29992988"},"pull_request":{"href":"https://api.github.com/repos/scummvm/scummvm/pulls/595"}}},"pull_request":{"url":"https://api.github.com/repos/scummvm/scummvm/pulls/595","id":34967668,"html_url":"https://github.com/scummvm/scummvm/pull/595","diff_url":"https://github.com/scummvm/scummvm/pull/595.diff","patch_url":"https://github.com/scummvm/scummvm/pull/595.patch","issue_url":"https://api.github.com/repos/scummvm/scummvm/issues/595","number":595,"state":"open","locked":false,"title":"SHERLOCK: Support for The Lost Files of Sherlock Holmes - The Case of the Serrated Scalpel","user":{"login":"dreammaster","id":552828,"avatar_url":"https://avatars.githubusercontent.com/u/552828?v=3","gravatar_id":"","url":"https://api.github.com/users/dreammaster","html_url":"https://github.com/dreammaster","followers_url":"https://api.github.com/users/dreammaster/followers","following_url":"https://api.github.com/users/dreammaster/following{/other_user}","gists_url":"https://api.github.com/users/dreammaster/gists{/gist_id}","starred_url":"https://api.github.com/users/dreammaster/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dreammaster/subscriptions","organizations_url":"https://api.github.com/users/dreammaster/orgs","repos_url":"https://api.github.com/users/dreammaster/repos","events_url":"https://api.github.com/users/dreammaster/events{/privacy}","received_events_url":"https://api.github.com/users/dreammaster/received_events","type":"User","site_admin":false},"body":"This is a pull request for the game  The Lost Files of Sherlock Holmes - The Case of the Serrated Scalpel. It was the first of two games using a custom-built engine developed by Mythos Software, and published by EA. The second game of which being the The Case of the Rose Tattoo. The game is completable, although I'm still actively testing the game. There are only a few things left to do:\r\n\r\n* Implement sound support. There's some in-progress work on this that hasn't yet been committed in.\r\n* The game has an infamous (at least here in the group) initial logo display that uses a separate executable just for that which is, of all things, using the TsAGE engine. :). This still needs to be disassembled at some point; but since it's just a logo display, and not even a cutscene, I don't think this should be considered an obstacle to merging or even announcing official support for the game. Rather, a nice to have for the future.\r\n\r\nOther than that, the code base is pretty solid. Apart from minor bugs that I'm still fixing as I identify them, the engine is fairly solid. Everything's broken up into clean classes, and I've kept the code I consider to be specific to Serrated Scalpel separate in it's own descendant class of the main \"SherlockEngine\" class. That way, it should be easier to add in support for the Rose Tattoo as well later on, without major refactoring","created_at":"2015-05-07T23:13:22Z","updated_at":"2015-05-09T14:31:12Z","closed_at":null,"merged_at":null,"merge_commit_sha":"bea90967f8e9bbffe13a6c8fbd201f7d7942b445","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/scummvm/scummvm/pulls/595/commits","review_comments_url":"https://api.github.com/repos/scummvm/scummvm/pulls/595/comments","review_comment_url":"https://api.github.com/repos/scummvm/scummvm/pulls/comments{/number}","comments_url":"https://api.github.com/repos/scummvm/scummvm/issues/595/comments","statuses_url":"https://api.github.com/repos/scummvm/scummvm/statuses/8306451462e6ffa91ac3bf76e30b43f3777dbd89","head":{"label":"dreammaster:sherlock","ref":"sherlock","sha":"8306451462e6ffa91ac3bf76e30b43f3777dbd89","user":{"login":"dreammaster","id":552828,"avatar_url":"https://avatars.githubusercontent.com/u/552828?v=3","gravatar_id":"","url":"https://api.github.com/users/dreammaster","html_url":"https://github.com/dreammaster","followers_url":"https://api.github.com/users/dreammaster/followers","following_url":"https://api.github.com/users/dreammaster/following{/other_user}","gists_url":"https://api.github.com/users/dreammaster/gists{/gist_id}","starred_url":"https://api.github.com/users/dreammaster/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dreammaster/subscriptions","organizations_url":"https://api.github.com/users/dreammaster/orgs","repos_url":"https://api.github.com/users/dreammaster/repos","events_url":"https://api.github.com/users/dreammaster/events{/privacy}","received_events_url":"https://api.github.com/users/dreammaster/received_events","type":"User","site_admin":false},"repo":{"id":1364360,"name":"scummvm","full_name":"dreammaster/scummvm","owner":{"login":"dreammaster","id":552828,"avatar_url":"https://avatars.githubusercontent.com/u/552828?v=3","gravatar_id":"","url":"https://api.github.com/users/dreammaster","html_url":"https://github.com/dreammaster","followers_url":"https://api.github.com/users/dreammaster/followers","following_url":"https://api.github.com/users/dreammaster/following{/other_user}","gists_url":"https://api.github.com/users/dreammaster/gists{/gist_id}","starred_url":"https://api.github.com/users/dreammaster/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dreammaster/subscriptions","organizations_url":"https://api.github.com/users/dreammaster/orgs","repos_url":"https://api.github.com/users/dreammaster/repos","events_url":"https://api.github.com/users/dreammaster/events{/privacy}","received_events_url":"https://api.github.com/users/dreammaster/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/dreammaster/scummvm","description":"ScummVM main repository","fork":true,"url":"https://api.github.com/repos/dreammaster/scummvm","forks_url":"https://api.github.com/repos/dreammaster/scummvm/forks","keys_url":"https://api.github.com/repos/dreammaster/scummvm/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dreammaster/scummvm/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dreammaster/scummvm/teams","hooks_url":"https://api.github.com/repos/dreammaster/scummvm/hooks","issue_events_url":"https://api.github.com/repos/dreammaster/scummvm/issues/events{/number}","events_url":"https://api.github.com/repos/dreammaster/scummvm/events","assignees_url":"https://api.github.com/repos/dreammaster/scummvm/assignees{/user}","branches_url":"https://api.github.com/repos/dreammaster/scummvm/branches{/branch}","tags_url":"https://api.github.com/repos/dreammaster/scummvm/tags","blobs_url":"https://api.github.com/repos/dreammaster/scummvm/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dreammaster/scummvm/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dreammaster/scummvm/git/refs{/sha}","trees_url":"https://api.github.com/repos/dreammaster/scummvm/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dreammaster/scummvm/statuses/{sha}","languages_url":"https://api.github.com/repos/dreammaster/scummvm/languages","stargazers_url":"https://api.github.com/repos/dreammaster/scummvm/stargazers","contributors_url":"https://api.github.com/repos/dreammaster/scummvm/contributors","subscribers_url":"https://api.github.com/repos/dreammaster/scummvm/subscribers","subscription_url":"https://api.github.com/repos/dreammaster/scummvm/subscription","commits_url":"https://api.github.com/repos/dreammaster/scummvm/commits{/sha}","git_commits_url":"https://api.github.com/repos/dreammaster/scummvm/git/commits{/sha}","comments_url":"https://api.github.com/repos/dreammaster/scummvm/comments{/number}","issue_comment_url":"https://api.github.com/repos/dreammaster/scummvm/issues/comments{/number}","contents_url":"https://api.github.com/repos/dreammaster/scummvm/contents/{+path}","compare_url":"https://api.github.com/repos/dreammaster/scummvm/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dreammaster/scummvm/merges","archive_url":"https://api.github.com/repos/dreammaster/scummvm/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dreammaster/scummvm/downloads","issues_url":"https://api.github.com/repos/dreammaster/scummvm/issues{/number}","pulls_url":"https://api.github.com/repos/dreammaster/scummvm/pulls{/number}","milestones_url":"https://api.github.com/repos/dreammaster/scummvm/milestones{/number}","notifications_url":"https://api.github.com/repos/dreammaster/scummvm/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dreammaster/scummvm/labels{/name}","releases_url":"https://api.github.com/repos/dreammaster/scummvm/releases{/id}","created_at":"2011-02-14T07:44:28Z","updated_at":"2015-02-20T01:58:11Z","pushed_at":"2015-05-09T14:14:53Z","git_url":"git://github.com/dreammaster/scummvm.git","ssh_url":"git@github.com:dreammaster/scummvm.git","clone_url":"https://github.com/dreammaster/scummvm.git","svn_url":"https://github.com/dreammaster/scummvm","homepage":"http://www.scummvm.org/","size":169570,"stargazers_count":3,"watchers_count":3,"language":"C++","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":1,"mirror_url":null,"open_issues_count":0,"forks":1,"open_issues":0,"watchers":3,"default_branch":"master"}},"base":{"label":"scummvm:master","ref":"master","sha":"04931d040085d77d031290fda57ca2c5dc486f54","user":{"login":"scummvm","id":365181,"avatar_url":"https://avatars.githubusercontent.com/u/365181?v=3","gravatar_id":"","url":"https://api.github.com/users/scummvm","html_url":"https://github.com/scummvm","followers_url":"https://api.github.com/users/scummvm/followers","following_url":"https://api.github.com/users/scummvm/following{/other_user}","gists_url":"https://api.github.com/users/scummvm/gists{/gist_id}","starred_url":"https://api.github.com/users/scummvm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/scummvm/subscriptions","organizations_url":"https://api.github.com/users/scummvm/orgs","repos_url":"https://api.github.com/users/scummvm/repos","events_url":"https://api.github.com/users/scummvm/events{/privacy}","received_events_url":"https://api.github.com/users/scummvm/received_events","type":"Organization","site_admin":false},"repo":{"id":1358940,"name":"scummvm","full_name":"scummvm/scummvm","owner":{"login":"scummvm","id":365181,"avatar_url":"https://avatars.githubusercontent.com/u/365181?v=3","gravatar_id":"","url":"https://api.github.com/users/scummvm","html_url":"https://github.com/scummvm","followers_url":"https://api.github.com/users/scummvm/followers","following_url":"https://api.github.com/users/scummvm/following{/other_user}","gists_url":"https://api.github.com/users/scummvm/gists{/gist_id}","starred_url":"https://api.github.com/users/scummvm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/scummvm/subscriptions","organizations_url":"https://api.github.com/users/scummvm/orgs","repos_url":"https://api.github.com/users/scummvm/repos","events_url":"https://api.github.com/users/scummvm/events{/privacy}","received_events_url":"https://api.github.com/users/scummvm/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/scummvm/scummvm","description":"ScummVM main repository","fork":false,"url":"https://api.github.com/repos/scummvm/scummvm","forks_url":"https://api.github.com/repos/scummvm/scummvm/forks","keys_url":"https://api.github.com/repos/scummvm/scummvm/keys{/key_id}","collaborators_url":"https://api.github.com/repos/scummvm/scummvm/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/scummvm/scummvm/teams","hooks_url":"https://api.github.com/repos/scummvm/scummvm/hooks","issue_events_url":"https://api.github.com/repos/scummvm/scummvm/issues/events{/number}","events_url":"https://api.github.com/repos/scummvm/scummvm/events","assignees_url":"https://api.github.com/repos/scummvm/scummvm/assignees{/user}","branches_url":"https://api.github.com/repos/scummvm/scummvm/branches{/branch}","tags_url":"https://api.github.com/repos/scummvm/scummvm/tags","blobs_url":"https://api.github.com/repos/scummvm/scummvm/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/scummvm/scummvm/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/scummvm/scummvm/git/refs{/sha}","trees_url":"https://api.github.com/repos/scummvm/scummvm/git/trees{/sha}","statuses_url":"https://api.github.com/repos/scummvm/scummvm/statuses/{sha}","languages_url":"https://api.github.com/repos/scummvm/scummvm/languages","stargazers_url":"https://api.github.com/repos/scummvm/scummvm/stargazers","contributors_url":"https://api.github.com/repos/scummvm/scummvm/contributors","subscribers_url":"https://api.github.com/repos/scummvm/scummvm/subscribers","subscription_url":"https://api.github.com/repos/scummvm/scummvm/subscription","commits_url":"https://api.github.com/repos/scummvm/scummvm/commits{/sha}","git_commits_url":"https://api.github.com/repos/scummvm/scummvm/git/commits{/sha}","comments_url":"https://api.github.com/repos/scummvm/scummvm/comments{/number}","issue_comment_url":"https://api.github.com/repos/scummvm/scummvm/issues/comments{/number}","contents_url":"https://api.github.com/repos/scummvm/scummvm/contents/{+path}","compare_url":"https://api.github.com/repos/scummvm/scummvm/compare/{base}...{head}","merges_url":"https://api.github.com/repos/scummvm/scummvm/merges","archive_url":"https://api.github.com/repos/scummvm/scummvm/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/scummvm/scummvm/downloads","issues_url":"https://api.github.com/repos/scummvm/scummvm/issues{/number}","pulls_url":"https://api.github.com/repos/scummvm/scummvm/pulls{/number}","milestones_url":"https://api.github.com/repos/scummvm/scummvm/milestones{/number}","notifications_url":"https://api.github.com/repos/scummvm/scummvm/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/scummvm/scummvm/labels{/name}","releases_url":"https://api.github.com/repos/scummvm/scummvm/releases{/id}","created_at":"2011-02-12T15:50:57Z","updated_at":"2015-05-07T20:30:55Z","pushed_at":"2015-05-09T14:14:54Z","git_url":"git://github.com/scummvm/scummvm.git","ssh_url":"git@github.com:scummvm/scummvm.git","clone_url":"https://github.com/scummvm/scummvm.git","svn_url":"https://github.com/scummvm/scummvm","homepage":"http://www.scummvm.org/","size":228975,"stargazers_count":502,"watchers_count":502,"language":"C++","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":255,"mirror_url":null,"open_issues_count":26,"forks":255,"open_issues":26,"watchers":502,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/scummvm/scummvm/pulls/595"},"html":{"href":"https://github.com/scummvm/scummvm/pull/595"},"issue":{"href":"https://api.github.com/repos/scummvm/scummvm/issues/595"},"comments":{"href":"https://api.github.com/repos/scummvm/scummvm/issues/595/comments"},"review_comments":{"href":"https://api.github.com/repos/scummvm/scummvm/pulls/595/comments"},"review_comment":{"href":"https://api.github.com/repos/scummvm/scummvm/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/scummvm/scummvm/pulls/595/commits"},"statuses":{"href":"https://api.github.com/repos/scummvm/scummvm/statuses/8306451462e6ffa91ac3bf76e30b43f3777dbd89"}}}}