Subversion Repositories Projects

Compare Revisions

Ignore whitespace Rev 69 → Rev 70

/DUBwise/src/MKCommunicator.java
330,7 → 330,7
 
public void close_connections(boolean force)
{
if (!force) root.vibrate(500);
if ((!force)&&root.canvas.do_vibra) root.vibrate(500);
force_disconnect=force;
try{ reader.close(); }
catch (Exception inner_ex) { }
/DUBwise/src/MKMiniCanvas.java
18,7 → 18,7
{
 
// name/handle for the recordStore to memorize some stuff
private final static String RECORD_STORE_NAME="bluetoothurl";
private final static String RECORD_STORE_NAME="DUBSETT";
private BTSearcher bt_scanner;
public MKCommunicator mk=null;
32,7 → 32,12
private String err="";
private DUBwise root;
 
byte[] settings_arr;
 
public boolean do_vibra=true;
public boolean do_sound=true;
public boolean do_graph=true;
public boolean keep_lighton=false;
 
private Image bg_img;
private Image bt_img;
80,6 → 85,7
public final static int STATEID_RAWDEBUG =8;
// public final static int STATEID_RAWDEBUG =8;
public final static int STATEID_KEYCONTROL =9;
public final static int STATEID_SETTINGSMENU =10;
 
 
public boolean fullscreen=false;
87,16 → 93,27
public int act_motor_increase=0;
public boolean motor_test_sel_all=false;
 
public String[] main_menu_items={"Telemetry","Raw Debug", "MK-KeyControl", "Motor Test" , "Flight Settings","Change Skin","Proxy","Change Device" , "Quit " };
public String[] main_menu_items={"Telemetry","Raw Debug", "MK-KeyControl", "Motor Test" , "Flight Settings","Tool Settings","Proxy","Change Device" , "Quit " };
public final static int MAINMENU_TELEMETRY =0;
public final static int MAINMENU_RAWDEBUG =1+MAINMENU_TELEMETRY;
public final static int MAINMENU_KEYCONTROL =1+MAINMENU_RAWDEBUG;
public final static int MAINMENU_MOTORTEST =1+MAINMENU_KEYCONTROL;
public final static int MAINMENU_PARAMS =1+MAINMENU_MOTORTEST;
public final static int MAINMENU_SETTINGS =1+MAINMENU_PARAMS;
public final static int MAINMENU_PROXY =1+MAINMENU_SETTINGS;
public final static int MAINMENU_SETTINGSMENU =1+MAINMENU_PARAMS;
public final static int MAINMENU_PROXY =1+MAINMENU_SETTINGSMENU;
public final static int MAINMENU_DEVICESELECT =1+MAINMENU_PROXY;
public final static int MAINMENU_QUIT =1+MAINMENU_DEVICESELECT;
 
public String[] settings_menu_items={"Skin ","Sound ","Vibra " ,"Graph ","FullScreen " ,"Keep BGLight " ,"Back" };
public final static int SETTINGSMENU_CHANGESKIN =0;
public final static int SETTINGSMENU_SOUNDTOGGLE =1;
public final static int SETTINGSMENU_VIBRATOGGLE =2;
public final static int SETTINGSMENU_GRAPHTOGGLE =3;
public final static int SETTINGSMENU_FULLSCREENTOGGLE =4;
public final static int SETTINGSMENU_LIGHTTOGGLE =5;
public final static int SETTINGSMENU_BACK =6;
 
 
int local_max=-1;
 
215,9 → 232,8
mk_stat= new MKStatistics(mk);
 
//#if voice_mode!="no_voice"
status_voice=new MKStatusVoice(mk);
status_voice=new MKStatusVoice(mk,this);
//#endif
load_images();
try
224,7 → 240,7
{
RecordStore recStore = RecordStore.openRecordStore(RECORD_STORE_NAME , true );
 
if (recStore.getNumRecords()==2)
if (recStore.getNumRecords()==3)
{
 
//byte[] recData = new byte[recStore.getRecordSize(1)];
235,6 → 251,14
byte[] url_data=recStore.getRecord(1);
byte[] name_data=recStore.getRecord(2);
settings_arr=recStore.getRecord(3);
act_skin=settings_arr[0];
do_sound=(settings_arr[1]==1);
do_vibra=(settings_arr[2]==1);
do_graph=(settings_arr[3]==1);
fullscreen=(settings_arr[4]==1);
keep_lighton=(settings_arr[5]==1);
 
connect_mk(new String(url_data, 0, url_data.length),new String(name_data, 0, name_data.length));
 
243,9 → 267,14
}
catch (Exception e)
{
settings_arr=new byte[10];
 
err+=e.toString();
}
 
load_images();
 
chg_state((mk.force_disconnect)?STATEID_SCANNING:STATEID_MAINMENU);
 
 
255,6 → 284,7
}
 
 
 
/****************************** Thread ******************/
// ticking runnable Section
266,6 → 296,7
{
try {
 
 
repaint();
serviceRepaints();
 
346,6 → 377,18
RecordStore recStore = RecordStore.openRecordStore(RECORD_STORE_NAME, true );
recStore.addRecord(mk.mk_url.getBytes(), 0, mk.mk_url.getBytes().length);
recStore.addRecord(mk.name.getBytes(), 0, mk.name.getBytes().length);
settings_arr=new byte[10];
settings_arr[0]=(byte)act_skin;
settings_arr[1]=(byte)(do_sound?1:0);
settings_arr[2]=(byte)(do_vibra?1:0);
settings_arr[3]=(byte)(do_graph?1:0);
settings_arr[4]=(byte)(fullscreen?1:0);
settings_arr[5]=(byte)(keep_lighton?1:0);
recStore.addRecord(settings_arr, 0, settings_arr.length);
 
 
recStore.closeRecordStore();
 
}
367,7 → 410,7
bg_offset--;
if (bg_offset==-bg_img.getWidth())
bg_offset=0;
//com.nokia.mid.ui.DeviceControl.setLights(0,100);
if (keep_lighton) com.nokia.mid.ui.DeviceControl.setLights(0,100);
//bt.tick();
// every state has sth to do in tick section
}
405,10 → 448,16
 
 
boolean firstrun=true;
 
 
// drawing section
public void paint(Graphics g) {
if (firstrun)
{
if (fullscreen) setFullScreenMode(fullscreen);
firstrun=false;
}
y_off=0;
try {
549,7 → 598,7
 
 
 
 
case STATEID_SETTINGSMENU:
// falltru wanted
case STATEID_SELECT_PARAMSET:
case STATEID_HANDLE_PARAMS:
611,7 → 660,7
// draw lines
 
for ( int x=0;x<this.getWidth();x++)
if (do_graph) for ( int x=0;x<this.getWidth();x++)
 
{
 
679,7 → 728,7
 
public void chg_state(int next_state)
{
act_menu_select=0;
if (next_state!=state)act_menu_select=0;
// prepare next state
switch(next_state)
{
723,11 → 772,28
lcd_lines=new String[bt_scanner.remote_device_count+1];
break;
 
 
case STATEID_MAINMENU:
menu_items=main_menu_items;
lcd_lines=new String[menu_items.length];
break;
 
case STATEID_SETTINGSMENU:
menu_items=new String[settings_menu_items.length];
for(int cnt=0;cnt<settings_menu_items.length;cnt++)
menu_items[cnt]=settings_menu_items[cnt];
 
menu_items[0]+=(act_skin==SKINID_DARK)?"Dark":"Light";
menu_items[1]+=(!do_sound)?"Off":"On";
menu_items[2]+=(!do_vibra)?"Off":"On";
menu_items[3]+=(!do_graph)?"Off":"On";
menu_items[4]+=(!fullscreen)?"Off":"On";
menu_items[5]+=(!keep_lighton)?"Off":"On";
 
lcd_lines=new String[menu_items.length];
break;
 
}
// switch state
929,16 → 995,61
else
menu_keypress(keyCode);
break;
case STATEID_MAINMENU:
 
case STATEID_SETTINGSMENU:
if ( getGameAction (keyCode)==FIRE )
switch(act_menu_select)
{
case MAINMENU_SETTINGS:
case SETTINGSMENU_CHANGESKIN:
act_skin++;
act_skin=(byte)(act_skin%2);
load_images();
chg_state(STATEID_SETTINGSMENU);
break;
case SETTINGSMENU_SOUNDTOGGLE:
do_sound=!do_sound;
chg_state(STATEID_SETTINGSMENU);
break;
case SETTINGSMENU_VIBRATOGGLE:
do_vibra=!do_vibra;
chg_state(STATEID_SETTINGSMENU);
break;
 
case SETTINGSMENU_GRAPHTOGGLE:
do_graph=!do_graph;
chg_state(STATEID_SETTINGSMENU);
break;
 
 
case SETTINGSMENU_FULLSCREENTOGGLE:
fullscreen=!fullscreen;
setFullScreenMode(fullscreen);
chg_state(STATEID_SETTINGSMENU);
break;
 
case SETTINGSMENU_LIGHTTOGGLE:
keep_lighton =!keep_lighton;
chg_state(STATEID_SETTINGSMENU);
break;
 
case SETTINGSMENU_BACK:
chg_state(STATEID_MAINMENU);
chg_state(STATEID_SETTINGSMENU);
break;
}
else menu_keypress(keyCode);
break;
 
case STATEID_MAINMENU:
if ( getGameAction (keyCode)==FIRE )
switch(act_menu_select)
{
case MAINMENU_SETTINGSMENU:
chg_state(STATEID_SETTINGSMENU);
break;
 
case MAINMENU_KEYCONTROL:
chg_state(STATEID_KEYCONTROL);
break;
/DUBwise/src/MKStatusVoice.java
20,6 → 20,7
{
 
MKCommunicator mk=null;
MKMiniCanvas canvas=null;
Player player;
public final int PLAYERSTATE_IDLE=0;
29,9 → 30,9
int act_player_state=PLAYERSTATE_IDLE;
VolumeControl vc;
 
public MKStatusVoice(MKCommunicator _mk)
public MKStatusVoice(MKCommunicator _mk,MKMiniCanvas _canvas)
{
 
canvas=_canvas;
mk=_mk;
new Thread( this ).start(); // fire up main Thread
}
103,7 → 104,7
{
 
if (mk.connected&&(mk.debug_data.UBatt()!=-1)&&(!mk.force_disconnect))
if (mk.connected&&(canvas.do_sound)&&(mk.debug_data.UBatt()!=-1)&&(!mk.force_disconnect))
{
int ubatt=mk.debug_data.UBatt();