{"action":"opened","issue":{"url":"https://api.github.com/repos/YaLTeR/BunnymodXT/issues/11","repository_url":"https://api.github.com/repos/YaLTeR/BunnymodXT","labels_url":"https://api.github.com/repos/YaLTeR/BunnymodXT/issues/11/labels{/name}","comments_url":"https://api.github.com/repos/YaLTeR/BunnymodXT/issues/11/comments","events_url":"https://api.github.com/repos/YaLTeR/BunnymodXT/issues/11/events","html_url":"https://github.com/YaLTeR/BunnymodXT/issues/11","id":172395017,"number":11,"title":"Option to render triggers with TriAPI","user":{"login":"Matherunner","id":2558060,"avatar_url":"https://avatars.githubusercontent.com/u/2558060?v=3","gravatar_id":"","url":"https://api.github.com/users/Matherunner","html_url":"https://github.com/Matherunner","followers_url":"https://api.github.com/users/Matherunner/followers","following_url":"https://api.github.com/users/Matherunner/following{/other_user}","gists_url":"https://api.github.com/users/Matherunner/gists{/gist_id}","starred_url":"https://api.github.com/users/Matherunner/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Matherunner/subscriptions","organizations_url":"https://api.github.com/users/Matherunner/orgs","repos_url":"https://api.github.com/users/Matherunner/repos","events_url":"https://api.github.com/users/Matherunner/events{/privacy}","received_events_url":"https://api.github.com/users/Matherunner/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/YaLTeR/BunnymodXT/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2016-08-22T08:29:50Z","updated_at":"2016-08-22T08:29:50Z","closed_at":null,"body":"Triggers are currently made visible by removing the `EF_NODRAW` bit and setting `rendermode` to `kRenderColor`. This is done in `AddToFullPack` before the server transmits these information to the client.\r\n\r\nThere are several shortcomings to this approach.\r\n\r\n1. If a demo is recorded while triggers are visible, they will remain visible in demo playback. This is because demos essentially record client-server communications. Removing them from demos requires special tools.\r\n\r\n2. Triggers do not show up if they somehow do not have an associated model despite collisions working correctly. While this is not a problem for the vast majority of the time, one exception can be found in the [TWHL Tower](http://www.moddb.com/mods/twhl-tower) mod maps.\r\n\r\n3. Despite the triggers looking translucent, they can make certain graphical effects behind them disappear completely. One example is TriAPI-rendered AI nodes. This is due to the use of `kRenderColor` which is required to assign colours to the triggers. They can also make some sprites disappear.\r\n\r\nSince TriAPI rendering is done completely client-side, demos will not capture them. Also with TriAPI, all faces can be coloured even with other render modes such as `kRenderAlpha`.\r\n\r\nThe hardest part of implementing this enhancement would be to understand how to actually enumerate and render faces."}}
{"actor":{"display_login":"Matherunner"}}