A recent change to the macro context seems to prevent us from using some conditional compilation flags. I have only ever relied on #if macro working during a macro context, and suspect it was a fluke that #if html5 ever worked.
In fact, it seems that #if hl never worked. ddd19afe5273aea61a2a6487618dcad438c2dfbd adds the check but prefers to call embedBytesHL() instead, so it doesn't get checked. Similarly, #if js and Haxe-provided flags never work in macros; only Lime's flags ever stood a chance.
This PR switches to a more future-proof approach, and also tries to make the code more readable. I believe this closes #1763 (unless more errors get revealed once these are fixed).
A recent change to the macro context seems to prevent us from using some conditional compilation flags. I have only ever relied on
#if macro
working during a macro context, and suspect it was a fluke that#if html5
ever worked.In fact, it seems that
#if hl
never worked. ddd19afe5273aea61a2a6487618dcad438c2dfbd adds the check but prefers to callembedBytesHL()
instead, so it doesn't get checked. Similarly,#if js
and Haxe-provided flags never work in macros; only Lime's flags ever stood a chance.This PR switches to a more future-proof approach, and also tries to make the code more readable. I believe this closes #1763 (unless more errors get revealed once these are fixed).