Subversion Repositories Kolibri OS

Rev

Rev 5238 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 5238 Rev 5248
Line 14... Line 14...
14
 
14
 
Line 15... Line 15...
15
#pragma pack(pop)
15
#pragma pack(pop)
Line 16... Line 16...
16
 
16
 
17
char path[] = "/sys/games/2048.dat";
17
char path[] = "/sys/games/2048.dat";
18
 
-
 
19
__u32 config_load_highscore()
-
 
20
{
18
 
21
    __u32 highscore = 0;
19
__u8 config_load(config_state* st)
22
 
20
{
23
    fs_info cfg = {0};
21
    fs_info cfg = {0};
24
    cfg.func = 0;
22
    cfg.func = 0;
Line 25... Line 23...
25
    cfg.size = sizeof(__u32);
23
    cfg.size = sizeof(config_state);
26
    cfg.data = (char*)&highscore;
24
    cfg.data = (char*)st;
Line 27... Line 25...
27
    cfg.name = path;
25
    cfg.name = path;
28
 
26
 
29
    __u32 ret = 0;
27
    __u32 ret = 0;
30
    __u32 rnum = 0;
28
    __u32 rnum = 0;
Line 31... Line 29...
31
 
29
 
32
    __asm__ __volatile__("int $0x40":"=a"(ret),"=b"(rnum):
-
 
33
                         "a"(70),
-
 
34
                         "b"((__u32)(&cfg)):
30
    __asm__ __volatile__("int $0x40":"=a"(ret),"=b"(rnum):
Line 35... Line 31...
35
                         "memory");
31
                         "a"(70),
36
 
32
                         "b"((__u32)(&cfg)):
37
    if (ret || (rnum != 4)) highscore = 0;
33
                         "memory");
38
 
34
 
39
    return highscore;
35
    return !ret || (rnum == cfg.size);
40
}
36
}
41
 
37
 
Line 42... Line 38...
42
void config_save_highscore(__u32 score)
38
__u8 config_save(config_state* st)
43
{
39
{
Line 44... Line 40...
44
    fs_info cfg = {0};
40
    fs_info cfg = {0};
45
    cfg.func = 2;
41
    cfg.func = 2;
46
    cfg.size = sizeof(__u32);
42
    cfg.size = sizeof(config_state);
47
    cfg.data = (char*)&score;
43
    cfg.data = (char*)st;
-
 
44
    cfg.name = path;
-
 
45
 
48
    cfg.name = path;
46
    __u32 ret = 0;