{"action":"created","issue":{"url":"https://api.github.com/repos/minetest/minetest/issues/3298","labels_url":"https://api.github.com/repos/minetest/minetest/issues/3298/labels{/name}","comments_url":"https://api.github.com/repos/minetest/minetest/issues/3298/comments","events_url":"https://api.github.com/repos/minetest/minetest/issues/3298/events","html_url":"https://github.com/minetest/minetest/pull/3298","id":113692677,"number":3298,"title":"Use standard sized integer types","user":{"login":"ShadowNinja","id":3399154,"avatar_url":"https://avatars.githubusercontent.com/u/3399154?v=3","gravatar_id":"","url":"https://api.github.com/users/ShadowNinja","html_url":"https://github.com/ShadowNinja","followers_url":"https://api.github.com/users/ShadowNinja/followers","following_url":"https://api.github.com/users/ShadowNinja/following{/other_user}","gists_url":"https://api.github.com/users/ShadowNinja/gists{/gist_id}","starred_url":"https://api.github.com/users/ShadowNinja/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ShadowNinja/subscriptions","organizations_url":"https://api.github.com/users/ShadowNinja/orgs","repos_url":"https://api.github.com/users/ShadowNinja/repos","events_url":"https://api.github.com/users/ShadowNinja/events{/privacy}","received_events_url":"https://api.github.com/users/ShadowNinja/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/minetest/minetest/labels/@%20Build","name":"@ Build","color":"009800"},{"url":"https://api.github.com/repos/minetest/minetest/labels/Low%20priority","name":"Low priority","color":"fbca04"},{"url":"https://api.github.com/repos/minetest/minetest/labels/maintenance","name":"maintenance","color":"009870"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-10-27T21:24:08Z","updated_at":"2015-10-27T22:26:06Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/minetest/minetest/pulls/3298","html_url":"https://github.com/minetest/minetest/pull/3298","diff_url":"https://github.com/minetest/minetest/pull/3298.diff","patch_url":"https://github.com/minetest/minetest/pull/3298.patch"},"body":"Instead of depending on Irrlicht's platform-detection (which has [issues](a1ea017b512ea8f99c40dca52a57ff58054c5acc)) we use the standard integer types (`<stdint.h>`).\r\nTo avoid massive changes, I've added all the short type name aliases (u8, u16, etc).\r\nHowever, this means that using `using namespace irr;` will cause type name\r\nconflicts, so I imported just the irrlicht sub-namespaces.\r\nThis means that some things (almost entirely enum values) have to be qualified\r\nwith `irr::`.  I imported IrrlichtDevice and SEvent into the global namespace\r\nto avoid having to update those (they have a lot of occurances).\r\nI'd import the enums (`EEVENT_TYPE`, `EMOUSE_INPUT_EVENT`, and `EKEY_CODE`) too, but that appears to be impossible with C++03 enums without importing every value individually.\r\n\r\nThis also replaces `U*_MAX`, with the standard `UINT*_MAX`."},"comment":{"url":"https://api.github.com/repos/minetest/minetest/issues/comments/151663509","html_url":"https://github.com/minetest/minetest/pull/3298#issuecomment-151663509","issue_url":"https://api.github.com/repos/minetest/minetest/issues/3298","id":151663509,"user":{"login":"est31","id":8872119,"avatar_url":"https://avatars.githubusercontent.com/u/8872119?v=3","gravatar_id":"","url":"https://api.github.com/users/est31","html_url":"https://github.com/est31","followers_url":"https://api.github.com/users/est31/followers","following_url":"https://api.github.com/users/est31/following{/other_user}","gists_url":"https://api.github.com/users/est31/gists{/gist_id}","starred_url":"https://api.github.com/users/est31/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/est31/subscriptions","organizations_url":"https://api.github.com/users/est31/orgs","repos_url":"https://api.github.com/users/est31/repos","events_url":"https://api.github.com/users/est31/events{/privacy}","received_events_url":"https://api.github.com/users/est31/received_events","type":"User","site_admin":false},"created_at":"2015-10-27T22:26:05Z","updated_at":"2015-10-27T22:26:05Z","body":"This PR should be split up, into these two things:\r\n\r\n* Define our own integer types and use them\r\n* Make minetest not do `using namespace irr;`\r\n\r\nOtherwise, the rate of doing changes that aren't related to the PR is very low, which is why I haven't found any more commits to split this into.\r\n\r\nIf we don't improve upon irrlicht with `f32` and `f64` its no problem to do it ourselves, but what I've said above still applies, `c16` and `c8` shouldn't be defined with implementation defined types."}}