Subversion Repositories Kolibri OS

Rev

Rev 5302 | Rev 5315 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 5302 Rev 5310
Line 202... Line 202...
202
	rskos_snd_update_buffer(&snd->hbuf, snd->data, snd->length_samples);
202
	rskos_snd_update_buffer(&snd->hbuf, snd->data, snd->length_samples);
203
};
203
};
Line 204... Line 204...
204
 
204
 
205
void soundbuf_sin(rs_soundbuf_t *snd, float freq) {
205
void soundbuf_sin(rs_soundbuf_t *snd, float freq) {
206
    int i;
206
    int i;
207
    int amp = 29000;
207
    int amp = 19000;
208
    for (i = 0; i < snd->length_samples; i++) {
208
    for (i = 0; i < snd->length_samples; i++) {
209
		snd->data[i] = ( 1.0 - 1.0*i/snd->length_samples ) * sin(freq*i) * amp;
209
		snd->data[i] = ( 1.0 - 1.0*i/snd->length_samples ) * sin(freq*i) * amp;
210
	};
210
	};
211
	rskos_snd_update_buffer(&snd->hbuf, snd->data, snd->length_samples);
211
	rskos_snd_update_buffer(&snd->hbuf, snd->data, snd->length_samples);
Line 212... Line 212...
212
};
212
};
213
 
213
 
214
void soundbuf_sin_fade(rs_soundbuf_t *snd, float freq) {
214
void soundbuf_sin_fade(rs_soundbuf_t *snd, float freq) {
215
    int i;
215
    int i;
216
    int amp = 29000;
216
    int amp = 19000;
217
    for (i = 0; i < snd->length_samples; i++) {
217
    for (i = 0; i < snd->length_samples; i++) {
Line 515... Line 515...
515
 
515
 
516
    #ifndef RS_KOS
516
    #ifndef RS_KOS
517
        rs_audio_init(RS_AUDIO_FMT_MONO16, RS_AUDIO_FREQ_16000, 2); 
517
        rs_audio_init(RS_AUDIO_FMT_MONO16, RS_AUDIO_FREQ_16000, 2); 
Line 518... Line 518...
518
    #endif
518
    #endif
519
 
519
 
520
    soundbuf_init(&game.sound_test1, 2048);
520
    soundbuf_init(&game.sound_test1, 1536);
-
 
521
//    soundbuf_fill(&game.sound_test1, 2, 50);
-
 
522
//    soundbuf_sin_fade(&game.sound_test1, 0.7);
-
 
523
    
-
 
524
    
-
 
525
	rs_sgen_init(2, game.sound_test1.length_samples);
-
 
526
	rs_sgen_func_pm(1, 2900.0, 1.70, 65.0, 17.0, 1.0);
-
 
527
	rs_sgen_func_normalize(1, 0.6);
-
 
528
//	rs_sgen_func_lowpass(0, 1, 1.0, 0.0, 4.0);
-
 
529
	rs_sgen_func_highpass(0, 1, 1.0, 0.0, 3.0);
-
 
530
 
-
 
531
	rs_sgen_wave_out(0);
-
 
532
	
-
 
533
	memcpy(game.sound_test1.data, (unsigned char*) rs_sgen_reg.wave_out, game.sound_test1.length_samples*2 );
-
 
534
	
-
 
535
	rs_sgen_term();
-
 
536
    soundbuf_update(&game.sound_test1);
-
 
537
    
-
 
538
    
-
 
539
    
-
 
540
    
-
 
541
    
-
 
542
    
-
 
543
    
Line 521... Line 544...
521
//    soundbuf_fill(&game.sound_test1, 2, 50);
544
    
522
    soundbuf_sin_fade(&game.sound_test1, 0.7);
545
    
523
 
546
 
Line 547... Line 570...
547
        //rs_sgen_func_phaser(0, 2, 0.9, 15.2 + 1.0*i/SOUND_EXPLOSIONS_COUNT, 6.0, 3.0, 2000.0, 1.73); 
570
        //rs_sgen_func_phaser(0, 2, 0.9, 15.2 + 1.0*i/SOUND_EXPLOSIONS_COUNT, 6.0, 3.0, 2000.0, 1.73); 
548
        rs_sgen_func_phaser(0, 2, 0.9, 16.2 + 0.5*i/SOUND_EXPLOSIONS_COUNT, 6.0, 3.0, 900.0, 0.93); 
571
        rs_sgen_func_phaser(0, 2, 0.9, 16.2 + 0.5*i/SOUND_EXPLOSIONS_COUNT, 6.0, 3.0, 900.0, 0.93); 
549
        rs_sgen_func_normalize(0, 1.0);
572
        rs_sgen_func_normalize(0, 1.0);
Line 550... Line 573...
550
 
573
 
551
        rs_sgen_func_lowpass(2, 0, 0.6, 0.0, 20.0);
574
        rs_sgen_func_lowpass(2, 0, 0.6, 0.0, 20.0);
Line 552... Line 575...
552
        rs_sgen_func_normalize(2, 0.7);
575
        rs_sgen_func_normalize(2, 0.5);
Line 553... Line 576...
553
 
576
 
554
        rs_sgen_wave_out(2);
577
        rs_sgen_wave_out(2);
Line 569... Line 592...
569
    rs_sgen_func_noise(2, 1000);
592
    rs_sgen_func_noise(2, 1000);
570
    rs_sgen_func_phaser(0, 2, 0.9, 11.5, 16.0, 13.0, 1300.0, 1.93); 
593
    rs_sgen_func_phaser(0, 2, 0.9, 11.5, 16.0, 13.0, 1300.0, 1.93); 
571
    rs_sgen_func_normalize(0, 1.0);
594
    rs_sgen_func_normalize(0, 1.0);
Line 572... Line 595...
572
 
595
 
573
    rs_sgen_func_highpass(2, 0, 1.0, 0.3, 20.0);
596
    rs_sgen_func_highpass(2, 0, 1.0, 0.3, 20.0);
Line 574... Line 597...
574
    rs_sgen_func_normalize(2, 0.6);
597
    rs_sgen_func_normalize(2, 0.5);
Line 575... Line 598...
575
 
598
 
576
    rs_sgen_wave_out(2);
599
    rs_sgen_wave_out(2);
Line 720... Line 743...
720
        
743
        
721
//        case RS_KEY_SPACE:
744
//        case RS_KEY_SPACE:
722
//                soundbuf_play( &game.sound_music, SND_MODE_LOOP );
745
//                soundbuf_play( &game.sound_music, SND_MODE_LOOP );
Line 723... Line 746...
723
//            break;
746
//            break;
724
        
747
        
725
//        #ifdef RS_LINUX
748
        #ifdef RS_LINUX
-
 
749
            
726
//            
750
        case RS_KEY_Z:
727
//        case RS_KEY_Z:
751
                soundbuf_stop( &game.sound_music );
728
//                soundbuf_play( &game.sound_music2, 0 );
752
                soundbuf_play( &game.sound_music2, 0 );
729
//                break;
753
                break;
Line 730... Line 754...
730
//            
754
            
Line 769... Line 793...
769
                break;
793
                break;
770
            case RS_KEY_RETURN:
794
            case RS_KEY_RETURN:
771
                menu_cursor_click();
795
                menu_cursor_click();
772
                break;
796
                break;
773
            case RS_KEY_ESCAPE:
797
            case RS_KEY_ESCAPE:
-
 
798
                if (game.menu_index != MENU_PAUSE) {
774
                menu_open(0);
799
                    menu_open(0);
-
 
800
                }
-
 
801
                else {
-
 
802
                    game.status = STATUS_PLAYING;
-
 
803
                    return;
-
 
804
                };
775
                break;
805
                break;
776
        };
806
        };
Line 777... Line 807...
777
 
807
 
Line 778... Line 808...
778
    };
808
    };
779
    
809
    
Line 780... Line 810...
780
    if (game.status == STATUS_PLAYING) {
810
    if (game.status == STATUS_PLAYING) {
781
        switch (key) {
811
        switch (key) {
782
            
812
            
783
            case RS_KEY_ESCAPE:
813
            case RS_KEY_ESCAPE:
784
                game.status = STATUS_MENU;
814
                game.status = STATUS_MENU;
Line 785... Line 815...
785
                menu_open(0);
815
                menu_open(MENU_PAUSE);