{"action":"created","issue":{"url":"https://api.github.com/repos/RetroAchievements/RASuite/issues/49","repository_url":"https://api.github.com/repos/RetroAchievements/RASuite","labels_url":"https://api.github.com/repos/RetroAchievements/RASuite/issues/49/labels{/name}","comments_url":"https://api.github.com/repos/RetroAchievements/RASuite/issues/49/comments","events_url":"https://api.github.com/repos/RetroAchievements/RASuite/issues/49/events","html_url":"https://github.com/RetroAchievements/RASuite/pull/49","id":302562896,"number":49,"title":"GUI Code Simplification (WIP, reviews/testing are welcome)","user":{"login":"SyrianBallaS","id":18649925,"avatar_url":"https://avatars2.githubusercontent.com/u/18649925?v=4","gravatar_id":"","url":"https://api.github.com/users/SyrianBallaS","html_url":"https://github.com/SyrianBallaS","followers_url":"https://api.github.com/users/SyrianBallaS/followers","following_url":"https://api.github.com/users/SyrianBallaS/following{/other_user}","gists_url":"https://api.github.com/users/SyrianBallaS/gists{/gist_id}","starred_url":"https://api.github.com/users/SyrianBallaS/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SyrianBallaS/subscriptions","organizations_url":"https://api.github.com/users/SyrianBallaS/orgs","repos_url":"https://api.github.com/users/SyrianBallaS/repos","events_url":"https://api.github.com/users/SyrianBallaS/events{/privacy}","received_events_url":"https://api.github.com/users/SyrianBallaS/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":28,"created_at":"2018-03-06T04:49:27Z","updated_at":"2018-04-13T21:02:03Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/RetroAchievements/RASuite/pulls/49","html_url":"https://github.com/RetroAchievements/RASuite/pull/49","diff_url":"https://github.com/RetroAchievements/RASuite/pull/49.diff","patch_url":"https://github.com/RetroAchievements/RASuite/pull/49.patch"},"body":"- _N.B: I'll put this \"<----\" to show what I'm working on._\r\n- _Some stuff I'm not sure what's the intended way for it work other than how it looks and what happens when I try to do the same thing in a release, so I'll put \"(need help testing)\" when they're checked off_\r\n- _Felt the other updates were irrelevant at this point_\r\n- Some requirements would help so I can make some unit tests, and maybe automated tests.\r\n\r\n\r\n\r\n\r\nDown here is a log of what I've done so far. A few things other things were changed that either caused debugging to fail, simplify, or just optimize memory management (like automatic deallocation, such as using std::array instead of static C arrays).\r\n\r\nSome other stuff changed was to address debug assertion failures (JSON, bounds) and access violations (bounds, conditions, achievements). **The stuff changed directly affected the dialog I was working on.**\r\n\r\n### Backlog\r\n- [x] RapidJSON v1.1.0 (partially)\r\n    - Left some of the older code (**FileStream.h**) alone to prevent breaking anything\r\n    - For streams (**fixed the JSON parsing part**) and ranged for (cleaner code)\r\n- [x] tinyformat.h (3rd party)\r\n    - Uses output streams in **printf syntax** which returns std::string\r\n    - Used almost everywhere changed, **the revised logging function is dependent on this**\r\n- [x] Base dialog\r\n- [x] Base window class\r\n- [x] Achievement dialog   (_need help testing_)\r\n- [ ] Achievement editor dialog <---- (need help testing when finished)\r\n- [x] Achievement reporter dialog (kind of, see commit <a href=\"https://github.com/RetroAchievements/RASuite/pull/49/commits/735eae046d74fe106dff92b81e05dcc23bb66056\">735eae0</a>). (_need help testing_)\r\n- [ ] MemoryViewControl  (_need help testing when finished_)\r\n- [ ] Memory Dialog (_need help testing when finished_)\r\n- [x] Game title dialog\r\n- [x] Login dialog\r\n- [x] Checksum dialog\r\n- [x] Logging debug assertions resolved\r\n- [x] JSON debug assertions resolved\r\n- [ ] Achievement set dialog(_need help testing when finished_)\r\n- [x] RichPresence dialog  (_need help testing_)\r\n- [x] Game library dialog (done all I could, MD5s are never the same, does it really need to be modeless?, _need help testing_)\r\n- [ ] Memory bookmark dialog (_need help testing when finished_)\r\n- [x] Colors as named enums\r\n- [x] Safer string conversion, and other helper conversion functions\r\n- [x] Lots of comparison operators\r\n\r\n\r\n\r\nThere's probably more controls and stuff as well but I'll put them on here as soon as I notice them.\r\n"},"comment":{"url":"https://api.github.com/repos/RetroAchievements/RASuite/issues/comments/381259681","html_url":"https://github.com/RetroAchievements/RASuite/pull/49#issuecomment-381259681","issue_url":"https://api.github.com/repos/RetroAchievements/RASuite/issues/49","id":381259681,"user":{"login":"SyrianBallaS","id":18649925,"avatar_url":"https://avatars2.githubusercontent.com/u/18649925?v=4","gravatar_id":"","url":"https://api.github.com/users/SyrianBallaS","html_url":"https://github.com/SyrianBallaS","followers_url":"https://api.github.com/users/SyrianBallaS/followers","following_url":"https://api.github.com/users/SyrianBallaS/following{/other_user}","gists_url":"https://api.github.com/users/SyrianBallaS/gists{/gist_id}","starred_url":"https://api.github.com/users/SyrianBallaS/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SyrianBallaS/subscriptions","organizations_url":"https://api.github.com/users/SyrianBallaS/orgs","repos_url":"https://api.github.com/users/SyrianBallaS/repos","events_url":"https://api.github.com/users/SyrianBallaS/events{/privacy}","received_events_url":"https://api.github.com/users/SyrianBallaS/received_events","type":"User","site_admin":false},"created_at":"2018-04-13T21:02:03Z","updated_at":"2018-04-13T21:02:03Z","author_association":"CONTRIBUTOR","body":"Your welcome @meleu \r\n\r\nThe PRs coming forward will most likely just be copy and pastes so it's not a big deal."}}
{"actor":{"display_login":"SyrianBallaS"}}