Page 2 of 2

Re: Cracktro

PostPosted: Tue Feb 13, 2018 5:05 pm
by jPV
Cool_amigaN wrote:After today's update (7.1), Display 2 (the actual cracktro) dissapeared even on MorphOS. Or to place it differently, Display 1 remains always on top.

Yeah, it should be fixed under Windows now, but it seems to bug on MorphOS instead :/

Check here: viewtopic.php?f=4&t=1829

Re: Cracktro

PostPosted: Tue Feb 13, 2018 7:07 pm
by jPV
Ok, I misunderstood how it was fixed, it's actually the wanted behaviour that desktop display will be always on top, and it was added to work so on other platforms too.

You have to use the grab desktop way I described here to have two Hollywood windows (desktop + effect) over each other:
viewtopic.php?f=2&t=1820#p9305

Re: Cracktro

PostPosted: Tue Feb 13, 2018 7:45 pm
by Cool_amigaN
No, GrabDesktop doesn't work the same way Desktop works, or at least I can find a way to re-create the effect 100%. I 've written the following:

Code: Select all
DISPLAY 1, {Borderless=True, DisableBlanker = True}

GrabDesktop(1)

BrushToBGPic(1,1)

BGPicToBrush(1, 2)

BrushToGray(2)

DisplayBrush(2, 0, 0)

For k = 10 To 100 Step 20
        CopyBrush(2, 3)
        TintBrush(3, #BLACK, k)
        DisplayBrush(3, 0, 0)
Next

BrushToBGPic(3,2)
DisplayBGPic(2)


But for a split second it displays the desktop on a small (default, 640x480?) resolution, before going fullscreen. Can you verify that as well?

Re: Cracktro

PostPosted: Wed Feb 14, 2018 8:11 am
by jPV
Cool_amigaN wrote:But for a split second it displays the desktop on a small (default, 640x480?) resolution, before going fullscreen.

Yeah, if you don't define bgpic in the display preprocessor, it opens always in 640x480 window first. That's why I put the Hidden=True in my example, to not show the window until we have set what we want as its bgpic (and then show it with OpenDisplay when all is ready).

Maybe this would work. I also "optimized" it a bit to grab directly to brush 2 (no need to have that many copies in memory), and I also added freeing of brushes after we finish with them. Full desktop sized images take some memory after all and it's good to free them if they aren't needed anymore.

Code: Select all
@DISPLAY 1, {Borderless=True, DisableBlanker = True, Hidden = True}

GrabDesktop(2)

BrushToBGPic(2,1)

DisplayBGPic(1)

OpenDisplay(1)

BrushToGray(2)

DisplayBrush(2, 0, 0)

For k = 10 To 100 Step 20
    CopyBrush(2, 3)
    TintBrush(3, #BLACK, k)
    DisplayBrush(3, 0, 0)
Next

BrushToBGPic(3,1)
DisplayBGPic(1)

FreeBrush(2)
FreeBrush(3)