gboolean hotbabe_load_pics(void) { const gchar *const *sys = g_get_system_data_dirs(); for(const char *const *i = sys; *i; i++) { gchar *path = g_build_filename(*i, PNAME, bm.dir, NULL); gboolean r = load_anim(&bm.anim, path); g_free(path); if (r) return TRUE; } gchar *home = g_build_filename(g_get_user_data_dir(), PNAME, bm.dir, NULL); gboolean r2 = load_anim(&bm.anim, home); g_free(home); if (r2) return TRUE; return load_anim(&bm.anim, bm.dir); }
void Babar::init_babar (Analyser * a) { m_bind = NULL; /* Initialisation de la position de Babar */ a->find_string ("#Babar#"); m_pos.x = a->read_int(); m_pos.y = a->read_int(); /* Chargement des images en fonction de l'age */ load_anim (a->read_int() ); m_rel_pos = m_pos; /* A gerer en fonction des évènements précédents : vies en sortant du niveau... */ m_hp = c_babar_hp_max; m_lifes = c_babar_lifes; /* Initisalisation de la phase de tir */ m_fire_phase = 0; /* Paramètres par défaut */ m_invincible = 0; m_dir = RIGHT; m_crouch_time = 0; interrupt_jump(); m_bind = NULL; m_lock = -1; m_state = BabarState::GetInitialState (this); }
static int ffi_new_anim(lua_State *L) { const char *name = luaL_checkstring(L, 1); struct anim *anim = load_anim(name); if (!anim) return luaL_error(L, "cannot load anim: %s", name); lua_pushlightuserdata(L, anim); return 1; }
void render_init(int w, int h, bool fullscreen){ /* create window */ SDL_Init(SDL_INIT_VIDEO); int flags = SDL_OPENGL | SDL_DOUBLEBUF; if ( fullscreen ) flags |= SDL_FULLSCREEN; SDL_SetVideoMode(w, h, 0, flags); glewInit(); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(45, ((float)w)/((float)h), 0.001, 100); /* orthographic projection */ //glOrtho(0, w, 0, h, -1.0, 1.0); //glScalef(1, -1, 1); //glTranslated(0, -h, 0); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); gluLookAt(pos_self.x * XSCALE, 0, -pos_self.y * ZSCALE + 2, pos_self.x * XSCALE, 0, -pos_self.y * ZSCALE + 0, 0, 1, 0); glViewport(0, 0, w, h); center.x = (float)w / 2; center.y = (float)h / 2; window.w = w; window.h = h; /* setup opengl */ glClearColor(1,0,1,1); glEnable(GL_TEXTURE_2D); glEnable(GL_BLEND); glDisable(GL_CULL_FACE); glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); /* load textures */ animation[ANIM_WAIVING] = load_anim("data/waving_large.png", 4, 4, 25); animation[ANIM_WALKING_WEST] = load_anim("data/walk_left_large.png", 3,3, 20); animation[ANIM_WALKING_EAST] = load_anim("data/walk_right_large.png", 3,3, 20); animation[ANIM_WALKING_NORTH] = load_anim("data/walk_up_large.png", 4,4, 20); animation[ANIM_WALKING_SOUTH] = load_anim("data/walk_down_large.png", 4,4, 20); }