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(); }
/* 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(); }
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); }
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); }
Ghost::Ghost() { ghost_id = 0; x = 8; y = 8; direction = 0; load_sprites(); timer.start(); }
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(); }
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; }
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(); }