{"action":"opened","issue":{"url":"https://api.github.com/repos/tgstation/-tg-station/issues/10320","labels_url":"https://api.github.com/repos/tgstation/-tg-station/issues/10320/labels{/name}","comments_url":"https://api.github.com/repos/tgstation/-tg-station/issues/10320/comments","events_url":"https://api.github.com/repos/tgstation/-tg-station/issues/10320/events","html_url":"https://github.com/tgstation/-tg-station/issues/10320","id":92464186,"number":10320,"title":"Walls/windows, tables, carpets, and grass all use different code and methods to achieve smoothness.","user":{"login":"WJohn","id":5988156,"avatar_url":"https://avatars.githubusercontent.com/u/5988156?v=3","gravatar_id":"","url":"https://api.github.com/users/WJohn","html_url":"https://github.com/WJohn","followers_url":"https://api.github.com/users/WJohn/followers","following_url":"https://api.github.com/users/WJohn/following{/other_user}","gists_url":"https://api.github.com/users/WJohn/gists{/gist_id}","starred_url":"https://api.github.com/users/WJohn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/WJohn/subscriptions","organizations_url":"https://api.github.com/users/WJohn/orgs","repos_url":"https://api.github.com/users/WJohn/repos","events_url":"https://api.github.com/users/WJohn/events{/privacy}","received_events_url":"https://api.github.com/users/WJohn/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/tgstation/-tg-station/labels/Consistency%20Issue","name":"Consistency Issue","color":"5319e7"},{"url":"https://api.github.com/repos/tgstation/-tg-station/labels/Feature%20Request","name":"Feature Request","color":"9319a7"},{"url":"https://api.github.com/repos/tgstation/-tg-station/labels/Maintainability%20-%20Hinders%20improvements","name":"Maintainability - Hinders improvements","color":"0b02e1"},{"url":"https://api.github.com/repos/tgstation/-tg-station/labels/Sprites","name":"Sprites","color":"5ECCD1"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-07-01T19:15:11Z","updated_at":"2015-07-01T19:15:11Z","closed_at":null,"body":"Currently we have like at least 4 different kinds of smoothwall, smooth carpet, smooth this, smooth that turfs and objects. Some do the basic like walls and windows, which have an ugly \"corner hole\" issue with 2x2 walls. Tables have that solved but are incapable of + shapes and many other shapes without going full fill, and are also full of ugly and jarring gradients. Carpets go maximum in this regard and can do every possible shape, but unfortunately this is super huge and bloated in floors.dmi. Finally, grass uses yellow borders so that *in theory* it can have multiple different looking grass tiles to help deal with repetitive looking textures, but this isn't even used.\r\n\r\nThis is kind of insane.\r\n\r\nI propose instead that we use one unified method that's been discussed in coderbus for a while: Splitting up these objects and turfs into 4 corner overlays, and then assembling them as necessary. This, if flatly laid out, is slightly more space consuming in the .dmi (or we could just use directions and solve that), but fixes the above 2x2 wall \"corner hole\" bug and also every issue tables experience.\r\n\r\nI've made a quick representation of what we have (top) and what we could have (bottom).\r\nhttp://i.imgur.com/Zy3IwVz.png\r\n\r\nEffectively, we need only swap out these corner overlays (which will be separated from the others, it won't be grouped up like those in the .dmi) and then assemble them in game as necessary. More specifically, you need to swap out those color coded corners in order to achieve this. This works with walls, windows, tables, carpets and grass, fixes the above mentioned visual bug, works with transparency, works with unevenly spread textures like uranium walls, is compact, and pretty easy to understand for newer spriters.\r\n\r\nI'd be happy to provide the sprites for this, as well as fix up our current table sprites (which are full of random gradients themselves)."}}