Index: parser.h
===================================================================
--- parser.h	(revision 135)
+++ parser.h	(revision 136)
@@ -91,4 +91,22 @@
 %%
 **/
 
+signed char raydium_parser_db_get(char *key, char *value, char *def);
+/**
+This function will copy the value of ##key## from Raydium's database to
+##value##. If ##key## is not found, ##def## is used as a default value.
+
+If you do not want to use a default value, give ##NULL## to ##def##,
+and the function will return 0 when ##key## was not found.
+
+No memory allocation is done for you.
+**/
+
+signed char raydium_parser_db_set(char *key, char *value);
+/**
+Sets ##key## in the Raydium's database to ##value##.
+This function will return 0 if failed.
+**/
+
+
 #endif
_CAMERA_PUSH_FREEMOVE_REL,vect,slowness);
    }

raydium_clear_frame();

switch(type)
{
	case '1':
		raydium_camera_look_at(10,-2,2,0,0,0);

	break;
	case '2':
		raydium_camera_look_at(2,10,3,0,0,0);

	break;
	case '3':
		raydium_camera_look_at(2,2,10,0,0,0);

	break;
	case '4':
		raydium_camera_smooth(10+mx,-2+my,2+mz,0,0,0,60,0,raydium_frame_time*3);


	break;
	case '5':
		raydium_camera_freemove(RAYDIUM_CAMERA_FREEMOVE_FIXED);

	break;
	case '6':
		raydium_camera_freemove(RAYDIUM_CAMERA_FREEMOVE_NORMAL);

	break;
	case '7':
		raydium_camera_orbitmove(12,2,2);

	break;
	case '8':
		raydium_camera_orbitmove(0,0,0);

	break;

}
raydium_osd_cursor_draw();
/* [ draw here ] */ raydium_ode_draw_all(0);
raydium_texture_current_set(0);
glLineWidth(5);
glBegin(GL_LINES);
//x-red
glColor4f(1,0,0,1);
glVertex3f(0,0,0);
glVertex3f(1,0,0);
//y-blue
glColor4f(0,0,1,1);
glVertex3f(0,0,0);
glVertex3f(0,1,0);
//z-green
glColor4f(0,1,0,1);
glVertex3f(0,0,0);
glVertex3f(0,0,1);
glEnd();
raydium_osd_color_rgba(1,0,0,1);
raydium_osd_printf_3D(0.8,0,0.3,20,0.5,"bitstream.tga","X");
raydium_osd_color_rgba(0,0,1,1);
raydium_osd_printf_3D(0,0.8,0.3,20,0.5,"bitstream.tga","Y");
raydium_osd_color_rgba(0,1,0,1);
raydium_osd_printf_3D(0.3,0.3,0.8,20,0.5,"bitstream.tga","Z");
raydium_osd_color_rgba(1,1,1,1);
float *pos;
pos=raydium_camera_data_get();
raydium_osd_printf(5,95,18,0.42f,"bitstream.tga","Camera position: %3.3f, %3.3f, %3.3f",pos[0],pos[1],pos[2]);
raydium_osd_printf(5,90,18,0.42f,"bitstream.tga","Camera angles: %3.3f, %3.3f, %3.3f",fmodf(pos[3],360),fmodf(pos[4],360),fmodf(pos[5],360));
raydium_osd_printf(5,5,22,0.42f,"bitstream.tga","Press 1,2,3,4,5,6,7,8 to change camera.");

switch(type)
{
	case '1':
		raydium_osd_printf(5,85,18,0.42f,"bitstream.tga","Camera: raydium_camera_look_at(10,-2,2,0,0,0)");

	break;
	case '2':
		raydium_osd_printf(5,85,18,0.42f,"bitstream.tga","Camera: raydium_camera_look_at(2,10,3,0,0,0)");

	break;
	case '3':
		raydium_osd_printf(5,85,18,0.42f,"bitstream.tga","Camera: raydium_camera_look_at(2,2,10,0,0,0)");

	break;
	case '4':
		raydium_osd_printf(5,85,18,0.42f,"bitstream.tga","Camera: raydium_camera_smooth(10+mx,-2+my,2+mz,0,0,0,60,0,raydium_frame_time*3)");

	break;
	case '5':
		raydium_osd_printf(5,85,18,0.42f,"bitstream.tga","Camera: raydium_camera_freemove(RAYDIUM_CAMERA_FREEMOVE_FIXED)");

	break;
	case '6':
		raydium_osd_printf(5,85,18,0.42f,"bitstream.tga","Camera: raydium_camera_freemove(RAYDIUM_CAMERA_FREEMOVE_NORMAL)");

	break;
	case '7':
		raydium_osd_printf(5,85,18,0.42f,"bitstream.tga","Camera: raydium_camera_orbitmove(12,2,2)");

	break;
	case '8':
		raydium_osd_printf(5,85,18,0.42f,"bitstream.tga","Camera: raydium_camera_orbitmove(0,0,0)");

	break;
}
raydium_rendering_finish();
}


int main(int argc, char **argv)
{
raydium_init_args(argc,argv);
raydium_window_create(640,480,RAYDIUM_RENDERING_WINDOW,"Camera test");

raydium_texture_filter_change(RAYDIUM_TEXTURE_FILTER_TRILINEAR);
raydium_window_view_perspective(60,0.01,2500); // fov 60 + near and far planes

raydium_fog_disable();
raydium_light_enable();
raydium_light_on(0);

raydium_light_conf_7f(0,50,150,200,1000000,1,0.9,0.7); // id, pos, intensity and color (RGB)
raydium_background_color_change(1,0.9,0.7,1);

raydium_sky_box_cache();

/* [ place base scene here ] */ raydium_ode_ground_set_name("cocorobix.tri");

raydium_callback(&display);
return(0);
}

// EOF