Awesome!
And can confirm, that fixed the issue.
Hey, didn't see this in the documentation, so I thought I'd report it.
This code will compile and run without throwing any console errors when in GMLive and when not:
var tile_data = 1; draw_tile( global.TILESET , tile_data , 0 , 0 , 0 ); // First Draw tile_data = tile_set_mirror( tile_data , true ); draw_tile( global.TILESET , tile_data , 0 , 20 , 0 ); // Second Draw
However, in GMLive, the second draw will not show up. Interestingly, if I change it to:
draw_tile( global.TILESET , 1, 0 , 20 , 0 ); // Second Draw
or comment out the tile_set_mirror() function beforehand, the second draw will work fine.
This seems to indicate that the tile_set_mirror() function is causing an issue in GMLive. I can also confirm that the same thing occurs with tile_set_flip() and tile_set_rotate().
Thanks for the work around! I'll give it a try.
Sorry I was a little vague about the shader error.
When I mentioned shaders, I meant as in trying to call it in the draw event while a shader has been set, like so:
shader_set( shader_name );
draw_tile( ts_Enigma , 1 , 0 , 0 , 0 );
shader_reset();
That's when it throws the "Draw failed due to invalid input layout" error. Though this doesn't happen when not running GMLive.
Hope this helps!
Came across an issue where GMLive doesn't seem to recognize Tilesets as resources.
This code executes fine without GMLive running:
draw_tile( ts_Enigma , 1 , 0 , 0 , 0 );
But with GMLive it fails to execute the code and puts this in the GMS2 Output Console:
Runtime error: RS_Draw_Cursor[L4,c12] `100169` (obj_Room_Studio) does not have a variable `ts_Enigma`
Code editor does recognize it however, and puts it in red type like all other resources.
As a note, this is not being called inside a shader. When called inside a shader, I get another error in addition to the above:
Draw failed due to invalid input layout
So, GMS syntax will allow this with no problem:
repeat( 0 ){ do_something() }
with the result being that the function is not called, it simply skips over the block.
However, if you run GMLive in the script, it will instead always perform the block 1 time, even if your repeat value is 0.
I came across this because, whether good practice or not, I often use repeat blocks with variables, for example:
repeat( n_times ){ do_something() }
and that n_times can sometimes be 0.
An easy way to circumvent the issue is just to wrap any repeat blocks like that with an if statement to insure the value is above 0, but a fix to the extension to be in line with typical GMS syntax would be more convenient.