Subversion Repositories FlightCtrl

Rev

Rev 403 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
303 ligi 1
/**************************************************
2
 *                                            
3
 * class representing the Params Structure    
4
 *                                            
5
 * Author:        Marcus -LiGi- Bueschleb      
403 ligi 6
 *
7
 * see README for further Infos
8
 *
303 ligi 9
 *************************************************/
10
 
11
public class MKParamsParser
12
 
13
{
14
 
314 ligi 15
    public final static int MAX_PARAMSETS=20;
303 ligi 16
 
314 ligi 17
    public int[][] field;
18
    public String[] names={"Paramset 1","Paramset 2","Paramset 3","Paramset 4","Paramset 5"};
303 ligi 19
 
314 ligi 20
    public int act_paramset=0;
21
 
22
 
390 ligi 23
    public int get_field_from_act(int pos)
24
    {       return field[act_paramset][pos];    }
314 ligi 25
 
390 ligi 26
    public void set_field_from_act(int pos,int val)
411 ligi 27
    {
28
        if (val>255) val=255;
29
        if (val<0) val=255;
30
        field[act_paramset][pos]=val;
31
    }
390 ligi 32
 
33
 
314 ligi 34
    public void field_from_act_add(int pos,int val)
35
    {
411 ligi 36
        set_field_from_act(pos , get_field_from_act(pos)+val);
314 ligi 37
    }
38
 
411 ligi 39
    // for boolean Flags
314 ligi 40
    public void field_from_act_xor(int pos,int val)
41
    {
42
        field[act_paramset][pos]^=val;
43
    }
44
 
303 ligi 45
    public MKParamsParser()
46
    {
314 ligi 47
        field=new int[MAX_PARAMSETS][58];
48
        for (int ii=0;ii<MAX_PARAMSETS;ii++)
49
            for (int i=0;i<58;i++)
50
                field[ii][i]=-1;
303 ligi 51
 
52
    }
53
 
314 ligi 54
    public void set_by_mk_data(int paramset_num,int[] in_arr,MKVersion version)
303 ligi 55
    {
56
        for ( int i=0;i<58;i++)
314 ligi 57
            field[paramset_num][i]=in_arr[i];
58
        names[paramset_num]="" + (paramset_num+1) +": ";
59
        for ( int i=46;i<58;i++)
60
            {
61
                if(in_arr[i]==0)break;
62
                names[paramset_num]+=(char)in_arr[i];
63
            }
303 ligi 64
    }
65
 
66
 
67
 
68
}