Example #1
0
t_screen *screen_default(const char *name, void (* draw)(t_screen *s))
{
	t_context *C=ctx_get();

	t_node *node=scene_add(C->scene,dt_screen,name);
	t_screen *screen=node->data;

	screen->keymap=keymap_generic;
	screen->draw=draw;

	// Add to UI Screens
	lst_add(C->ui->screens,node,name);

	// Lst
	t_node *node_lst = scene_add( C->scene, dt_list, "lst");
	t_lst *lst = node_lst->data;

	screen->viewports = lst;

	// Viewport
	t_node *node_viewport = scene_add( C->scene, dt_viewport, name);
	t_viewport *viewport = node_viewport->data;

	// Camera
	t_node *node_camera = scene_add( C->scene, dt_camera, name);
	t_camera *camera = node_camera->data;

	viewport->camera = camera;

	lst_add(screen->viewports, viewport, name);

	return screen;
}
Example #2
0
// Initializes the scene list, the scenes, and push them into the list.
void nov_scene_list_init()
{
	on_level = __level_load_event;

	// Open the scene list.
	scene_new();

	// Creates the scene nodes.
	day[0] = scene_data_new("Fragment #1",                              // Name of the chapter.
								_chr(game_asset_get_scene("fragment1.wmb")), // Internal name of the chapter. (scene name)
								NULL,                                        // Name of the thumbnail image.
								NULL,                                        // Sun color.
								NULL,                                        // Fog color.
								NULL,                                        // Fog range.
								150.0);                                      // Sun light intensity.

	day[1] = scene_data_new("Fragment #2", _chr(game_asset_get_scene("fragment2.wmb")), NULL, NULL, NULL, NULL, 150.0);
	day[2] = scene_data_new("Fragment #3", _chr(game_asset_get_scene("fragment3.wmb")), NULL, NULL, NULL, NULL, 150.0);
	day[3] = scene_data_new("Fragment #4", _chr(game_asset_get_scene("fragment4.wmb")), NULL, NULL, NULL, NULL, 150.0);
	day[4] = scene_data_new("Fragment #5", _chr(game_asset_get_scene("fragment5.wmb")), NULL, NULL, NULL, NULL, 150.0);
	day[5] = scene_data_new("Fragment #6", _chr(game_asset_get_scene("fragment6.wmb")), NULL, NULL, NULL, NULL, 150.0);
	day[6] = scene_data_new("Fragment #7", _chr(game_asset_get_scene("empty.wmb")), NULL, NULL, NULL, NULL, 150.0);

	int i = 0;
	for(; i < TOTAL_DAYS; i++)
		scene_add( day[i] );
}
Example #3
0
t_node *op_texture_add(const char *path)
{
	t_context *C = ctx_get();
	t_node *node_file = scene_add(C->scene,dt_file,path);
	t_file *file = ( t_file *) node_file->data;

	char *ext=file->ext;

	if(*ext)
	{
		if(is(ext,"jpg"))
		{
			#ifdef HAVE_JPG
			op_texture_jpg_add(file);
			#endif
		}
		else if(is(ext,"png"))
		{
			#ifdef HAVE_PNG
			op_texture_png_add(file);
			#endif
		}
		else
		{
			printf("[ERROR:op_texture_add] Unknonw extension:%s\n",file->ext);
		}
	}
	else
	{
		printf("[ERROR:op_texture_add] No extension\n");
		return NULL;
	}

	return node_file;
}
Example #4
0
t_node *block_make(const char *name,const char *type)
{
	t_context *C=ctx_get();

	t_node *n_block=scene_add(C->scene,nt_block,name);
	t_node *n_list=scene_add(C->scene,nt_list,name);

	t_block *block=n_block->data;

	set_name(block->type,type);

	block_init(C->scene,block);

	block->cls->link(block,n_list);

	return n_block;
}
Example #5
0
t_screen *screen_add_3d(const char *name, void (* draw)(t_screen *s))
{
	t_context *C=ctx_get();

	t_node *node=scene_add(C->scene,dt_screen,name);
	t_screen *screen=node->data;

	screen->keymap=keymap_generic;
	screen->draw=draw;

	lst_add(C->ui->screens,node,name);

	// Lst
	t_node *node_lst = scene_add( C->scene, dt_list, "lst_screen");
	t_lst *lst = node_lst->data;

	screen->viewports = lst;

	// Viewport
	t_node *node_viewport = scene_add( C->scene, dt_viewport, "viewport");
	t_viewport *viewport = node_viewport->data;

	// Camera
	t_node *node_camera = scene_add( C->scene, dt_camera, name);
	t_camera *camera = node_camera->data;
	camera_add_controls( camera);

	viewport->camera = camera;
	viewport_add_controls( viewport);


	screen->width = C->app->window->width;
	screen->height = C->app->window->height;

	viewport->width = C->app->window->width;
	viewport->height = C->app->window->height;

	list_add_data(screen->viewports, viewport);

	return screen;
}
Example #6
0
void glint_add_module_startup( t_context *C, t_module_method f)
{
	t_module_startup *mod = ( t_module_startup *) malloc( sizeof( t_module_startup));
	mod->done = 0;
	mod->method = f;


	t_node *node = scene_add( C->scene, dt_module, "startup");
	t_module *module = ( t_module *) node->data;
	module->update = glint_module_startup;
	module->data = mod;
	lst_add( C->mode->modules, module, module->id.name);
}
Example #7
0
void screen_block_add(t_screen *screen, t_block *block)
{
	t_context *C = ctx_get();

	if(screen->blocks)
	{
		list_add_data(screen->blocks, block);
	}
	else
	{
		t_node *node = scene_add(C->scene, dt_lst, "lst");
		t_lst *lst = node->data;
		screen->blocks = lst;

		screen_block_add(screen, block);
	}
}
Example #8
0
t_node *op_texture_png_add(t_file *file)
{
	t_context *C = ctx_get();

	t_node *node = scene_add( C->scene, dt_texture, file->id.name);
	t_texture *texture = ( t_texture *) node->data;

	t_image *image = img_read_png( file->path);

	if(image)
	{
		texture_image_bind( texture, image);
	}

	op_texture_store(texture);

	return node;
}
Example #9
0
File: vlst.c Project: rvba/minuit
t_vlst *vlst_make( const char *name, t_data_type type, int length, int count, void *data)
{
	t_context *C=ctx_get();

	t_node *node_vlst=scene_add(C->scene,dt_vlst,name);
	t_vlst *vlst=node_vlst->data;

	vlst->type = type;
	vlst->length = length;
	vlst->count=count;
	vlst->count_new=vlst->count;

	if(type == dt_int) vlst->size = sizeof(int);
	else if(type == dt_uint) vlst->size = sizeof(unsigned int);
	else if(type == dt_float) vlst->size = sizeof(float);
	else if(type == dt_uchar) vlst->size = sizeof(unsigned char);
	else printf("[ERROR vlst_make] Unknown type %s\n",data_name_get(type));

	if( !data && length && count)
	{
		vlst->data=mem_malloc((vlst->size)*(vlst->length)*(vlst->count));
		if(C->scene->store)
		{
			 scene_add_data_var(C->scene,"vlst_data","v_data",((vlst->size)*(vlst->length)*(vlst->count)),vlst->data);
		}
	}
	else
	{
		vlst->data = data;
	}

	if(C->ui->add_bricks && C->ui->add_bricks_data)
	{
		t_node *node_block=add_block(C,"vlst");
		t_block *block=node_block->data;
		add_part_vlst(C,block,dt_vlst,"vlst",vlst);
		vlst->ref = block;
	}


	return vlst;
}
Example #10
0
Scene *BKE_scene_add(Main *bmain, const char *name)
{
	return scene_add(bmain, name);
}