Example #1
0
/*** Inicialización de recursos ***/
void Init( void )
{
    // Luz global
    COLOR    ambColor = BLACK;
    
    // INICIALIZANDO FUENTE
    /*
    InitFont(WIDTH, HEIGHT);
    arialfont = OpenFont("fonts/arial.ttf", 18);
    SetFontStyle(arialfont, TTF_STYLE_BOLD);
    */
    
    
    // Inicio OpenGL
    InitOpenGL( WIDTH, HEIGHT, BPP, DEPTH, FULLSCREEN );
    SetOpenGL( WIDTH, HEIGHT, (GLfloat*)&ambColor, (GLfloat*)&ambColor );
    
    // Incio OpenAL
    InitOpenAL( NULL );
    
    // Escondo el cursor
    SDL_ShowCursor( SDL_DISABLE );
    
    //Transparencia
    
    
    glBlendEquation( GL_ADD);
    glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
    

    //Espada
    glPushMatrix();
    //LoadModel( "models/flyingSword.3DS", "textures", GL_FALSE, &modeloEspada );
    LoadModel( "models/sword7.3ds", "textures", GL_FALSE, &modeloEspada );
    glTranslatef(1.0f, 0.0f, -3.0f);
    //glScalef(0.01f, 0.01f, 0.01f);

    BoundingVolumes(&modeloEspada, &volumesEspada, NULL, GL_TRUE);
    glPopMatrix();
    
    
    
    // Terreno
    InitTerrain(&terrain,"resources/hell.raw", "textures/greengrass.jpg",GL_FALSE, &terrainMtrl,64,64,50.0f,1.0f);
    // agua
//    InitTerrain(&agua,"resources/agua.raw", "textures/agua.png",GL_FALSE, &aguaMtrl,64,64,50.0f,0.1f);
    
    // SKYBOX
    InitSkybox(&skybox,"textures/skybox.png");
    
    
    //HUD
    mapTex = LoadTexture("textures/greenhell.png");
    dotTex = LoadTexture("textures/Dot.png");
    water =  LoadTexture("textures/sprite.png");
    hudNull = LoadTexture("textures/hud.png");
    UnderwaterTex =LoadTexture("textures/subacuatica.png");
    oxBar = LoadTexture("textures/bluebar.png");
    
}
Example #2
0
void osaOpenAL::Startup(void)
{
    CMN_LOG_CLASS_RUN_VERBOSE << "osaOpenAL starting ..." << std::endl;
    if (!InitOpenAL()) {
        CMN_LOG_CLASS_INIT_ERROR << "Failed to initialize OpenAL" << std::endl;
    }

}
Example #3
0
int main(int argc, char *argv[])
{
	InitOpenAL();                            // 初始化openal    
	LoadData();                                 // 载入WAV数据
	Play();                                            // 播放
	UnloadData();                             // 卸载WAV数据
	ShutdownOpenAL();                // 关闭openal
	return 0;
}
void clAudioThread::Run()
{
	Env->Logger->SetCurrentThreadName( "Audio" );

	guard();

#if L_AUDIO_USE_OPENAL
	LAL::clALExtRetriever* OpenAL = new LAL::clALExtRetriever;
	FATAL( !OpenAL->Reload(), "Unable to initialize OpenAL" );

	// now initialize OpenAL
	InitOpenAL();
#endif

	double Seconds = Env->GetSeconds();

	while ( !IsPendingExit() )
	{
		float DeltaSeconds = static_cast<float>( Env->GetSeconds() - Seconds );

		{
			LMutex Lock( &FMutex );

			// update sources
			std::for_each( FActiveSources.begin(), FActiveSources.end(), std::bind2nd( std::mem_fun( &iAudioSource::Update ), DeltaSeconds ) );
		}

		Seconds = Env->GetSeconds();

		Env->ReleaseTimeslice( 100 );
	}

	Env->Logger->Log( L_NOTICE, "Deallocating sources" );

	{
		LMutex Lock( &FMutex );

		while ( !FActiveSources.empty() )
		{
			delete( FActiveSources.back() );
		}
	}

#if L_AUDIO_USE_OPENAL
	ShutdownOpenAL();

	delete( OpenAL );
#endif

	Env->Logger->Log( L_NOTICE, "Audio thread exited" );

	unguard();
}
Example #5
0
Sound::Sound() :
    m_sources(),
    m_music_loops(),
    m_music_name(),
    m_buffers(),
    m_music_buffers(),
    m_ogg_file(),
    m_ogg_format(),
    m_ogg_freq(),
    m_temporary_disable_count(0)
{
    InitOpenAL(NUM_SOURCES, m_sources, m_music_buffers);
}
Example #6
0
int play(GtkWidget *button, struct arguments *argument) {

    ALenum format;
    ALuint buffer;
    alGetSourcei(source, AL_SOURCE_STATE, &status);

    if(argument->first == 1)
        InitOpenAL();

    if(status == 0 || status == AL_STOPPED) {
        argument->first = 0;
        alDeleteBuffers(1, &buffer);
        alSourcei(source, AL_BUFFER, 0);
        alDeleteSources(1, &source);
        g_timer_start(argument->elapsed);
        alGenBuffers(1, &buffer);
        alGenSources(1, &source);

        format = AL_FORMAT_STEREO16;
        alBufferData(buffer, format, current_sample_array, nSamples * sizeof(ALint), sample_rate);

        alSourcei(source, AL_BUFFER, buffer);
        alSourcePlay(source);
        g_source_remove(argument->tag);
        if(argument->endless_check || argument->continue_count != 0) {
            argument->tag = g_timeout_add_seconds(current_song.duration, endless, argument);
        }
        argument->bartag = g_timeout_add_seconds(1, timer_progressbar, argument);
        return 0;
    }

    if(status == AL_PLAYING) {
        if(argument->endless_check) {
            g_timer_stop(argument->elapsed);
            g_source_remove(argument->tag);
        }
        alSourcePause(source);
        return 0;
    }
    else {
        alSourcePlay(source);
        if(argument->endless_check) {
            g_timer_continue(argument->elapsed);
            argument->tag = g_timeout_add_seconds(current_song.duration - (int)g_timer_elapsed(argument->elapsed, NULL), endless, argument->label);
        }
        return 0;
    }
}
Example #7
0
void Sound::Impl::Enable() {
    if (m_initialized)
        return;

    //Reset playing audio
    m_music_loops = 0;
    m_buffers.clear();
    m_temporary_disable_count = 0;

    InitOpenAL();
    if (!m_initialized) {
        ErrorLogger() << "Unable to initialize audio.  Sound effects and music are disabled.";
        // TODO: Let InitOpenAL throw the OpenAL error message which
        // might be more useful.
        throw InitializationFailureException("ERROR_SOUND_INITIALIZATION_FAILED");
    }

    DebugLogger() << "Audio " << (m_initialized ? "enabled." : "disabled.");
}
Example #8
0
CSoundItem::CSoundItem(CSoundData* sndData)
{
	ResetVars();
	if (InitOpenAL())
		Attach(sndData);
}