Example #1
0
void InitDirect3DApp::load_assets()
{
	cam = new RBCamera();
	cam->set_position(0,5,-15);
	RBVector4 position(0,5,0);
	cam->set_target(position);
	cam->set_fov_y(60);
	cam->set_ratio(16.f/9.f);
	cam->set_near_panel(0.1f);
	cam->set_far_panel(2000.f);
	
	effect = RBBaseEffect::create();
	effect2d = RB2DRenderingEffect::create();
	effect_texture = RBTextureEffect::create();
	effect_cube = RBCubeMappingEffect::create();

	//函数参数的生命周期???
	//generate_obj(effect, RBVector3(0, 0, 0), "scene/scene.obj");
	//generate_obj(effect, RBVector3(0, 0, 0), "bb.obj")->debug_draw = false;
	load_scene1();
	//generate_obj(effect,RBVector3(0),"sphere.obj")->_node->set_position(0,0,-5);

	load_texture();

	load_sprites();
}
Example #2
0
/* init: init's the element lists and allegro, returns 0 upon success
 * and non-zero otherwise */
int init(void)
{
    /* init allegro */
    if (allegro_init() != 0) {
        printf("failed to initialize...");
        return 1;
    }

    set_color_depth(GFX_DEPTH);
    if (set_gfx_mode(GFX_AUTODETECT_WINDOWED,
                     EDITOR_WIN_W, EDITOR_WIN_H, 0, 0) != 0) {
        set_gfx_mode(GFX_TEXT, 0, 0, 0, 0);
        allegro_message("Failed to init a gfxmode.");
        return 1;
    }
    set_window_title("GUNPOWDER MapEditor");

    install_keyboard();
    install_mouse();
    show_mouse(screen);

    vscreen = create_bitmap(EDITOR_WIN_W, EDITOR_WIN_H);
    if (!vscreen) {
        close_program = 1;
    }

    /* init our lists */
    load_tiles();
    load_sprites();

    return 0;
}
CharacterRenderer::CharacterRenderer(const Vector &position, double radius)
    : Renderer(position),
      radius_(radius),
      sprite_step_(0),
      last_x_(0),
      first_render_(true),
      right_direction_(true) {
  load_sprites();
}
Example #4
0
void JE_loadMainShapeTables( const char *shpfile )
{
#ifdef TYRIAN2000
	const int SHP_NUM = 13;
#else
	const int SHP_NUM = 12;
#endif
	
	FILE *f = dir_fopen_die(data_dir(), shpfile, "rb");
	
	JE_word shpNumb;
	JE_longint shpPos[SHP_NUM + 1]; // +1 for storing file length
	
	efread(&shpNumb, sizeof(JE_word), 1, f);
	assert(shpNumb + 1u == COUNTOF(shpPos));
	
	for (unsigned int i = 0; i < shpNumb; ++i)
		efread(&shpPos[i], sizeof(JE_longint), 1, f);
	
	fseek(f, 0, SEEK_END);
	for (unsigned int i = shpNumb; i < COUNTOF(shpPos); ++i)
		shpPos[i] = ftell(f);
	
	int i;
	// fonts, interface, option sprites
	for (i = 0; i < 7; i++)
	{
		fseek(f, shpPos[i], SEEK_SET);
		load_sprites(i, f);
	}
	
	// player shot sprites
	shapesC1.size = shpPos[i + 1] - shpPos[i];
	JE_loadCompShapesB(&shapesC1, f);
	i++;
	
	// player ship sprites
	shapes9.size = shpPos[i + 1] - shpPos[i];
	JE_loadCompShapesB(&shapes9 , f);
	i++;
	
	// power-up sprites
	eShapes[5].size = shpPos[i + 1] - shpPos[i];
	JE_loadCompShapesB(&eShapes[5], f);
	i++;
	
	// coins, datacubes, etc sprites
	eShapes[4].size = shpPos[i + 1] - shpPos[i];
	JE_loadCompShapesB(&eShapes[4], f);
	i++;
	
	// more player shot sprites
	shapesW2.size = shpPos[i + 1] - shpPos[i];
	JE_loadCompShapesB(&shapesW2, f);
	
	fclose(f);
}
Example #5
0
void load_sprites_file( unsigned int table, const char *filename )
{
	free_sprites(table);
	
	FILE *f = dir_fopen_die(data_dir(), filename, "rb");
	
	load_sprites(table, f);
	
	fclose(f);
}
Example #6
0
Ghost::Ghost()
{
	ghost_id = 0;
	
	x = 8;
	y = 8;
	direction = 0;
	load_sprites();
	timer.start();
}
Example #7
0
void JE_loadMainShapeTables( const char *shpfile )
{
	const int SHP_NUM = 12;
	
	FILE *f = dir_fopen_die(data_dir(), shpfile, "rb");
	
	JE_word shpNumb;
	JE_longint shpPos[SHP_NUM + 1]; // +1 for storing file length
	
	efread(&shpNumb, sizeof(JE_word), 1, f);
	assert(shpNumb + 1 <= COUNTOF(shpPos));
	
	for (int i = 0; i < shpNumb; i++)
	{
		efread(&shpPos[i], sizeof(JE_longint), 1, f);
	}
	fseek(f, 0, SEEK_END);
	shpPos[shpNumb] = ftell(f);
	
	int i;
	// fonts, interface, option sprites
	for (i = 0; i < 7; i++)
	{
		fseek(f, shpPos[i], SEEK_SET);
		load_sprites(i, f);
	}
	
	// player shot sprites
	shapesC1.size = shpPos[i + 1] - shpPos[i];
	JE_loadCompShapesB(&shapesC1, f);
	i++;
	
	// player ship sprites
	shapes9.size = shpPos[i + 1] - shpPos[i];
	JE_loadCompShapesB(&shapes9 , f);
	i++;
	
	// power-up sprites
	eShapes6.size = shpPos[i + 1] - shpPos[i];
	JE_loadCompShapesB(&eShapes6, f);
	i++;
	
	// coins, datacubes, etc sprites
	eShapes5.size = shpPos[i + 1] - shpPos[i];
	JE_loadCompShapesB(&eShapes5, f);
	i++;
	
	// more player shot sprites
	shapesW2.size = shpPos[i + 1] - shpPos[i];
	JE_loadCompShapesB(&shapesW2, f);
	
	fclose(f);
}
GreenTurtleRenderer::GreenTurtleRenderer(const Vector &position, double radius)
    : CharacterRenderer(position, radius) {
    load_sprites();
}
Example #9
0
File: main.c Project: filur/dracsgh
int main(int argc, char** argv)
{
	SDL_Event ev;
	
	int quit = 0;
	int sleepCycle[] = {16, 17, 17};
	int sleepNth = 0;
	int sleepTotal = 0;
	int frameStart = 0;
	int frameEnd = 0;
	int frameDelta = 0;
	// int fps = 0, fpsreport = 0;
	
	nthlevel = 0;
	newlevelpause = 1;
	
	SDL_Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO);
	TTF_Init();
	
	sound_setup();
	sound_set_song(2);
	
	sfx_player_jump = sound_synth_get(0);
	sfx_player_jump->waveform = SYNTH_SQUARE;
	sfx_player_jump->length = 100;
	sfx_player_jump->amp_start = 0.3;
	sfx_player_jump->amp_end = 0.2;
	sfx_player_jump->freq_start = 300;
	sfx_player_jump->freq_end = 500;
	
	sfx_player_scare = sound_synth_get(1);
	sfx_player_scare->waveform = SYNTH_NOISE;
	sfx_player_scare->length = 320;
	sfx_player_scare->amp_start = 0.1;
	sfx_player_scare->amp_end = 0.1;
	sfx_player_scare->freq_start = 3200;
	sfx_player_scare->freq_end = 4800;
	
	sfx_player_scare2 = sound_synth_get(2);
	sfx_player_scare2->waveform = SYNTH_SQUARE;
	sfx_player_scare2->length = 320;
	sfx_player_scare2->amp_start = 0.15;
	sfx_player_scare2->amp_end = 0.0;
	sfx_player_scare2->freq_start = 1200;
	sfx_player_scare2->freq_end = 1550;
	
	sfx_clear_goat1 = sound_synth_get(3);
	sfx_clear_goat1->waveform = SYNTH_SQUARE;
	sfx_clear_goat1->length = 50;
	sfx_clear_goat1->amp_start = 0.3;
	sfx_clear_goat1->amp_end = 0.3;
	sfx_clear_goat1->freq_start = 450;
	sfx_clear_goat1->freq_end = 450;
	
	sfx_clear_goat2 = sound_synth_get(4);
	sfx_clear_goat2->waveform = SYNTH_SQUARE;
	sfx_clear_goat2->length = 50;
	sfx_clear_goat2->delay = 50;
	sfx_clear_goat2->amp_start = 0.3;
	sfx_clear_goat2->amp_end = 0.3;
	sfx_clear_goat2->freq_start = 1250;
	sfx_clear_goat2->freq_end = 1250;
	
	sfx_hurting = sound_synth_get(5);
	sfx_hurting->waveform = SYNTH_SQUARE;
	sfx_hurting->length = 180;
	sfx_hurting->delay = 0;
	sfx_hurting->amp_start = 0.3;
	sfx_hurting->amp_end = 0;
	sfx_hurting->freq_start = 1000;
	sfx_hurting->freq_end = 2;
	
	sfx_c4 = sound_synth_get(6);
	sfx_c4->waveform = SYNTH_SQUARE;
	sfx_c4->length = 180;
	sfx_c4->delay = 0;
	sfx_c4->amp_start = 0.3;
	sfx_c4->amp_end = 0.1;
	sfx_c4->freq_start = 261.626;
	sfx_c4->freq_end = 261.626;
	
	sfx_f4 = sound_synth_get(7);
	sfx_f4->waveform = SYNTH_SQUARE;
	sfx_f4->length = 180;
	sfx_f4->delay = 0;
	sfx_f4->amp_start = 0.3;
	sfx_f4->amp_end = 0.1;
	sfx_f4->freq_start = 349.228;
	sfx_f4->freq_end = 349.228;
	
	level = 0;
	gravity = 0.8;
	
	framefn = &_introfn;
	memset(&controls, 0, sizeof(Controls));
	memset(&player, 0, sizeof(Player));
	
	player.hearts = 10;
	
	player.rect.w = 48;
	player.rect.h = 64;
	
	// level_place_player();
	
	player.spriterect.x = 192;
	player.spriterect.y = 0;
	player.spriterect.w = 48;
	player.spriterect.h = 64;
	
	font = TTF_OpenFont("Vera.ttf", 16);
	screen = SDL_SetVideoMode(640, 480, 32, SDL_HWSURFACE);
	
	load_sprites();
	
	mygoats = (Goat**) malloc(sizeof(Goat*) * 16);
	memset(mygoats, 0, sizeof(Goat*) * 16);
	
	// mygoats[0] = goat_create(100, 10);
	// mygoats[1] = goat_create(300, 10);
	// mygoats[2] = goat_create(500, 10);
	
	myslimes = (Slime**) malloc(sizeof(Slime*) * 16);
	memset(myslimes, 0, sizeof(Slime*) * 16);
	
	// myslimes[0] = slime_create(400, 10, 1);
	// myslimes[0]->controls.left = 1;
	
	// fpsreport = SDL_GetTicks() + 1000;
	
	while (!quit)
	{
		frameDelta = SDL_GetTicks() - frameStart;
		frameStart = SDL_GetTicks();
		
		framefn(frameDelta);
		
		while (SDL_PollEvent(&ev))
		{
			switch (ev.type)
			{
				case SDL_KEYDOWN:
					switch (ev.key.keysym.sym)
					{
						case SDLK_LEFT:
							controls.left = 1;
							break;
						
						case SDLK_RIGHT:
							controls.right = 1;
							break;
						
						case SDLK_UP:
							// controls.up = 1;
							controls.button1 = 1;
							break;
						
						case SDLK_DOWN:
							controls.down = 1;
							break;
						
						case SDLK_z:
						case SDLK_SPACE:
							controls.button1 = 1;
							break;
						
						case SDLK_x:
						case SDLK_LCTRL:
							controls.button2 = 1;
							break;
						
						default:
							break;
					}
					
					break;
				
				case SDL_KEYUP:
					switch (ev.key.keysym.sym)
					{
						case SDLK_LEFT:
							controls.left = 0;
							break;
						
						case SDLK_RIGHT:
							controls.right = 0;
							break;
						
						case SDLK_UP:
							// controls.up = 0;
							controls.button1 = 0;
							break;
						
						case SDLK_DOWN:
							controls.down = 0;
							break;
						
						case SDLK_z:
						case SDLK_SPACE:
							controls.button1 = 0;
							break;
						
						case SDLK_x:
						case SDLK_LCTRL:
							controls.button2 = 0;
							break;
						
						default:
							break;
					}
					
					break;
				
				case SDL_QUIT:
					quit = 1;
					break;
				
				default:
					break;
			}
		}
		
		// ++fps;
		
		frameEnd = SDL_GetTicks();
		
		// if (fpsreport <= frameEnd)
		// {
			// printf("%d fps\n", fps);
			// fps = 0;
			// fpsreport += 1000;
		// }
		
		if (sleepCycle[sleepNth] - (frameEnd - frameStart) > 0)
		{
			SDL_Delay(sleepCycle[sleepNth] - (frameEnd - frameStart));
		}
		
		if (++sleepNth > 2)
		{
			sleepNth = 0;
		}
	}
	
	sound_quit();
	TTF_CloseFont(font);
	TTF_Quit();
	SDL_Quit();
	
	return EXIT_SUCCESS;
}
Example #10
0
void combat_initsprites()
{
	t_ik_image *pcx;	
	int x, y, n; 

	spr_ships = load_sprites("graphics/ships.spr");
	spr_shipsilu = load_sprites("graphics/shipsilu.spr");
	spr_weapons = load_sprites("graphics/weapons.spr");
	spr_explode1 = load_sprites("graphics/explode1.spr");
	spr_shockwave = load_sprites("graphics/shockwav.spr");
	spr_shield = load_sprites("graphics/shield.spr");

	combatbg1 = ik_load_pcx("graphics/combtbg1.pcx", NULL);
	combatbg2 = ik_load_pcx("graphics/combtbg2.pcx", NULL);

	if (!spr_ships)
	{
		spr_ships = new_spritepak(24);
		pcx = ik_load_pcx("ships.pcx", NULL);
		for (n=0;n<24;n++)

		{
			x = n%5; y = n/5;
			spr_ships->spr[n] = get_sprite(pcx, x*64, y*64, 64, 64);
		}

		del_image(pcx);
		save_sprites("graphics/ships.spr", spr_ships);
	}

	if (!spr_shipsilu)
	{
		spr_shipsilu = new_spritepak(24);
		pcx = ik_load_pcx("silu.pcx", NULL);
		for (n=0;n<24;n++)

		{
			x = n%5; y = n/5;
			spr_shipsilu->spr[n] = get_sprite(pcx, x*128, y*128, 128, 128);
		}

		del_image(pcx);
		save_sprites("graphics/shipsilu.spr", spr_shipsilu);
	}

	if (!spr_weapons)
	{
		spr_weapons = new_spritepak(19);
		pcx = ik_load_pcx("weaponfx.pcx", NULL);

		for (n=0;n<5;n++)
		{
			spr_weapons->spr[n] = get_sprite(pcx, n*32, 0, 32, 32);
		}
		for (n=0;n<5;n++)
		{
			spr_weapons->spr[n+5] = get_sprite(pcx, n*32, 32, 32, 32);
		}
		for (n=0;n<4;n++)
		{
			spr_weapons->spr[n+10] = get_sprite(pcx, n*32, 64, 32, 32);
		}
		spr_weapons->spr[14] = get_sprite(pcx, 192, 64, 128, 128);
		spr_weapons->spr[15] = get_sprite(pcx, 0, 96, 32, 32);
		spr_weapons->spr[16] = get_sprite(pcx, 160, 0, 32, 32);
		spr_weapons->spr[17] = get_sprite(pcx, 128, 64, 32, 32); 
		spr_weapons->spr[18] = get_sprite(pcx, 32, 96, 32, 32); 

		del_image(pcx);
		save_sprites("graphics/weapons.spr", spr_weapons);
	}

	if (!spr_explode1)
	{
		spr_explode1 = new_spritepak(10);
		pcx = ik_load_pcx("xplosion.pcx", NULL);
		
		for (n=0; n<10; n++)
		{
			x = n%5; y = n/5;
			spr_explode1->spr[n] = get_sprite(pcx, x*64, y*64, 64, 64);
		}

		del_image(pcx);
		save_sprites("graphics/explode1.spr", spr_explode1);
	}

	if (!spr_shockwave)
	{
		spr_shockwave = new_spritepak(5);
		pcx = ik_load_pcx("shock.pcx", NULL);
		
		for (n=0; n<5; n++)
		{
			spr_shockwave->spr[n] = get_sprite(pcx, (n%3)*128, (n/3)*128, 128, 128);
		}

		del_image(pcx);
		save_sprites("graphics/shockwav.spr", spr_shockwave);
	}

	if (!spr_shield)
	{
		spr_shield = new_spritepak(5);
		pcx = ik_load_pcx("shields.pcx", NULL);
		
		for (n=0; n<5; n++)
		{
			spr_shield->spr[n] = get_sprite(pcx, n*128, 0, 128, 128);
		}

		del_image(pcx);
		save_sprites("graphics/shield.spr", spr_shield);
	}

}
void Renderizer::load_files()
{
    load_textures();
    load_sprites();
}