Subversion Repositories FlightCtrl

Rev

Rev 475 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 475 Rev 495
1
/**************************************************
1
/**************************************************
2
 *                                            
2
 *                                            
3
 * class representing the Params Structure    
3
 * class representing the Params Structure    
4
 *                                            
4
 *                                            
5
 * Author:        Marcus -LiGi- Bueschleb      
5
 * Author:        Marcus -LiGi- Bueschleb      
6
 *
6
 *
7
 * see README for further Infos
7
 * see README for further Infos
8
 *
8
 *
9
 *************************************************/
9
 *************************************************/
10
 
10
 
11
public class MKParamsParser
11
public class MKParamsParser
12
    implements MKParamDefinitions
12
    implements MKParamDefinitions
13
 
13
 
14
{
14
{
15
 
15
 
16
    public final static int MAX_PARAMSETS=20;
16
    public final static int MAX_PARAMSETS=20;
17
 
17
 
18
    public int[][] field;
18
    public int[][] field;
19
    public String[] names={"Paramset 1","Paramset 2","Paramset 3","Paramset 4","Paramset 5"};
19
    public String[] names={"Paramset 1","Paramset 2","Paramset 3","Paramset 4","Paramset 5"};
20
 
20
 
21
    public int act_paramset=0;
21
    public int act_paramset=0;
22
 
22
 
23
 
23
 
24
    public int get_field_from_act(int pos)
24
    public int get_field_from_act(int pos)
25
    {       return field[act_paramset][pos];    }
25
    {       return field[act_paramset][pos];    }
26
 
26
 
27
    public void set_field_from_act(int pos,int val)
27
    public void set_field_from_act(int pos,int val)
28
    {
28
    {
29
        if (val>255) val=255;
29
        if (val>255) val=255;
30
        if (val<0) val=255;
30
        if (val<0) val=255;
31
        field[act_paramset][pos]=val;
31
        field[act_paramset][pos]=val;
32
    }
32
    }
33
 
33
 
34
 
34
 
35
    public void field_from_act_add(int pos,int val)
35
    public void field_from_act_add(int pos,int val)
36
    {
36
    {
37
        set_field_from_act(pos , get_field_from_act(pos)+val);
37
        set_field_from_act(pos , get_field_from_act(pos)+val);
38
    }
38
    }
39
 
39
 
40
    // for boolean Flags
40
    // for boolean Flags
41
    public void field_from_act_xor(int pos,int val)
41
    public void field_from_act_xor(int pos,int val)
42
    {
42
    {
43
        field[act_paramset][pos]^=val;
43
        field[act_paramset][pos]^=val;
44
    }
44
    }
45
 
45
 
46
    public MKParamsParser()
46
    public MKParamsParser()
47
    {
47
    {
48
        field=new int[MAX_PARAMSETS][65];
48
        field=new int[MAX_PARAMSETS][65];
49
        for (int ii=0;ii<MAX_PARAMSETS;ii++)
49
        for (int ii=0;ii<MAX_PARAMSETS;ii++)
50
            for (int i=0;i<65;i++)
50
            for (int i=0;i<65;i++)
51
                field[ii][i]=-1;
51
                field[ii][i]=-1;
52
 
52
 
53
    }
53
    }
54
 
54
 
55
 
55
 
56
    public int[] param_type;
56
    public int[] param_type;
57
    public int[] param_pos;
57
    public int[] param_pos;
58
    public int[] param_innerpos;
58
    public int[] param_innerpos;
59
 
59
 
60
    public void set_by_mk_data(int paramset_num,int[] in_arr,MKVersion version)
60
    public void set_by_mk_data(int paramset_num,int[] in_arr,MKVersion version)
61
    {
61
    {
62
        param_type=new int[PARAM_COUNT];
62
        param_type=new int[PARAM_COUNT];
63
        param_pos=new int[PARAM_COUNT];
63
        param_pos=new int[PARAM_COUNT];
64
        param_innerpos=new int[PARAM_COUNT];
64
        param_innerpos=new int[PARAM_COUNT];
65
 
65
 
66
        param_type[PARAMID_STICK_ACCELERATE]=PARAMTYPE_BYTE;
66
        param_type[PARAMID_STICK_ACCELERATE]=PARAMTYPE_BYTE;
67
        param_pos[PARAMID_STICK_ACCELERATE]=2;
67
        param_pos[PARAMID_STICK_ACCELERATE]=2;
68
        param_innerpos[PARAMID_STICK_ACCELERATE]=0;
68
        param_innerpos[PARAMID_STICK_ACCELERATE]=0;
69
       
69
       
70
 
70
 
71
        switch (version.compatible)
71
        switch (version.compatible)
72
            {
72
            {
73
            case 4:
73
            case 4:
-
 
74
            case 5:
74
               
75
               
75
                for ( int i=0;i<58;i++)
76
                for ( int i=0;i<58;i++)
76
                    field[paramset_num][i]=in_arr[i];
77
                    field[paramset_num][i]=in_arr[i];
77
                names[paramset_num]="" + (paramset_num+1) +": ";
78
                names[paramset_num]="" + (paramset_num+1) +": ";
78
                for ( int i=46;i<58;i++)
79
                for ( int i=46;i<58;i++)
79
                    {
80
                    {
80
                        if(in_arr[i]==0)break;
81
                        if(in_arr[i]==0)break;
81
                        names[paramset_num]+=(char)in_arr[i];
82
                        names[paramset_num]+=(char)in_arr[i];
82
                    }
83
                    }
83
                break;
84
                break;
84
 
85
 
85
            case 6:
86
            case 6:
86
                for ( int i=0;i<65;i++)
87
                for ( int i=0;i<65;i++)
87
                    field[paramset_num][i]=in_arr[i];
88
                    field[paramset_num][i]=in_arr[i];
88
                names[paramset_num]="" + (paramset_num+1) +": ";
89
                names[paramset_num]="" + (paramset_num+1) +": ";
89
                for ( int i=53;i<65;i++)
90
                for ( int i=53;i<65;i++)
90
                    {
91
                    {
91
                        if(in_arr[i]==0)break;
92
                        if(in_arr[i]==0)break;
92
                        names[paramset_num]+=(char)in_arr[i];
93
                        names[paramset_num]+=(char)in_arr[i];
93
                    }
94
                    }
94
                break;
95
                break;
95
               
96
               
96
            }
97
            }
97
    }
98
    }
98
 
99
 
99
 
100
 
100
 
101
 
101
}
102
}
102
 
103