source: titan/titan/mute.h @ 15272

Last change on this file since 15272 was 14082, checked in by nit, 12 years ago

[titan] first step anim screens

File size: 1.4 KB
Line 
1#ifndef MUTE_H
2#define MUTE_H
3
4//screen and node are needed if funktion is called from rc handle
5//flag 1 = no blit
6//flag 2 = no framebuffer lock
7//flag 3 = no framebuffer lock and no blit
8void screenmute(struct skin* screen, struct skin* node, int flag)
9{
10        int tmpscreencalc = 0;
11        struct skin* framebuffer = getscreen("framebuffer");
12        struct skin* mute = getscreen("mute");
13
14        if(getconfig("stepmute", NULL) == NULL)
15                addconfig("stepmute", "0");
16               
17        if(status.mute == 0 && atoi(getconfig("stepmute", NULL)) == 1)
18        {
19                status.mute = 2;
20                setmute(2);
21        }
22        else if(status.mute == 0 || status.mute == 2)
23        {
24                if(status.mute == 2)
25                        setvol(getconfigint("vol", NULL));
26                status.mute = 1;
27                setmute(1);
28                setnodeattr(mute, framebuffer);
29                if(status.drawallwaysbg[0] != NULL)
30                        free(status.drawallwaysbg[0]);
31                status.drawallwaysbg[0] = savescreen(mute);
32                tmpscreencalc = status.screencalc;
33                status.screencalc = 0;
34                if(flag == 2 || flag == 3)
35                        drawscreen(mute, 2);
36                else
37                        drawscreen(mute, 0);
38                status.screencalc = tmpscreencalc;
39                status.drawallways[0] = mute;
40        }
41       
42        else
43        {
44                status.mute = 0;
45                setmute(0);
46                if(flag == 2 || flag == 3)
47                        clearscreennolock(mute);
48                else
49                        clearscreen(mute);
50                if(status.drawallwaysbg[0] != NULL)
51                {
52                        restorescreen(status.drawallwaysbg[0], mute);
53                        status.drawallwaysbg[0] = NULL;
54                }
55                status.drawallways[0] = NULL;
56                if(flag == 0 || flag == 2)
57                        blitfb(0);
58        }
59}
60
61#endif
Note: See TracBrowser for help on using the repository browser.