YoYoGames / GameMaker-Bugs

Public tracking for GameMaker bugs
22 stars 8 forks source link

gpu_set_scissor(struct) not working #7558

Open gm-bug-reporter[bot] opened 3 weeks ago

gm-bug-reporter[bot] commented 3 weeks ago

Description

Hey there,

Please see attached project. Resetting the scissor via a struct received from gpu_get_scissor is not working. I did it exactly in the way as you write in the manuals at https://manual.gamemaker.io/monthly/en/#t=GameMaker_Language%2FGML_Reference%2FDrawing%2FGPU_Control%2Fgpu_set_scissor.htm

In the project you find an object ScissorBug. Look at the draw event, I documented each step.

kind regards, Gris

Steps To Reproduce

Which version of GameMaker are you reporting this issue for?

IDE v2024.8.0.169 Runtime v2024.8.0.216

Which operating system(s) are you seeing the problem on?

Windows 10.0.19045.0

Which platform(s) are you seeing the problem on?

Windows

3b144a58-6d07-43e8-ac69-87eb756d3f69

Grisgram commented 3 weeks ago

The new bug reporting tool does not let me edit my own posts, as I am no longer the author, so I have to put it as a reply here.

To make clear, what's wrong:

Please do NOT treat this as a "Documentation Bug" - it's a runner bug

(The documentation is fine - it should work, as described in the docs)

// THIS IS A COPY FROM THE MANUAL - IT DOES NOT WORK
var _scissor = gpu_get_scissor();
gpu_set_scissor(200, 200, 600, 600);
draw_self();
gpu_set_scissor(_scissor);    // <-- Here is the bug, it *should* work
// THIS WORKS
var _scissor = gpu_get_scissor();
gpu_set_scissor(200, 200, 600, 600);
draw_self();
gpu_set_scissor(_scissor.x, _scissor.y, _scissor.w, _scissor.h );   // <-- This works