ID:1095979
 
I've been attempting to make a workaround to allow interface windows to be transparent without forcing software rendering.

At the moment I am using winapi (calls via C#) to make interface windows transparent but I'd like to know why BYOND hasn't done something like that, what issues am I going to encounter when using this method?
Seems like an interesting question.
I tried it out, and it definitely seemed to make windows transparent without losing hardware rendering.
The function used, SetLayeredWindowAttributes, doesn't appear to be supported in windows 98 (which according to here, BYOND still supports). So I'm guessing that's why BYOND doesn't use it.
I'll take a look. It may simply be a legacy restriction that works with current setups. Windows98 support obviously isn't important.
I'd love to see transparency in interfaces =)
Really, BYOND needs to drop Windows 98 support. (Who still uses Windows 98?)
Some people still use windows 98, personally I like the idea of keeping support for everyone.

With my launcher I planned to check what operating system the player uses, if it's win 98 then transparency won't be applied otherwise few graphic changes are applied.
Just FYI, I tested transparent interfaces in Win7 and they worked fine in hardware mode, so this appears to work well at least in modern OS/DX combos. Obviously I initially put in this check for a reason, so we'll have to see if older versions of DX play nice with this (if not, we can just check for them and do the old software fallback). For now, I've removed the restriction (prob. in next minor build; definitely in the next major one later this month).

With Win98 it's just setup to not do any transparency period, since that functionality doesn't exist on that platform.