Subversion Repositories Kolibri OS

Rev

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

Rev 5235 Rev 5237
Line 13... Line 13...
13
#include "rsnoise.h"
13
#include "rsnoise.h"
Line 14... Line 14...
14
 
14
 
Line 15... Line -...
15
#include "rs/rsplatform.h"
-
 
16
 
-
 
17
 
-
 
18
#ifdef RS_USE_C_LIBS // linux version
-
 
19
    #include 
-
 
20
    #include  
-
 
21
    #include 
-
 
Line 22... Line 15...
22
    
15
#include "rs/rsplatform.h"
Line 78... Line 71...
78
    
71
    
79
    if (mode == DRAW_MODE_REPLACE) {
72
    if (mode == DRAW_MODE_REPLACE) {
80
        for (i = istart; i < iend; i++) {
73
        for (i = istart; i < iend; i++) {
81
            for (j = jstart; j < jend; j++) {
74
            for (j = jstart; j < jend; j++) {
82
                for (k = 0; k < 4; k++) {
75
                for (k = 0; k < 4; k++) {
83
                    dest->data[ 4 * ( (y+i)*dest->w + (x+j) ) + k ] = src->data[ (4*(i*src->w + j) + k) % modvalue ];
76
                    dest->data[ 4 * ( (y+i)*dest->w + (x+j) ) + k ] = src->data[ (4*((i+ishift)*src->w + j + jshift) + k) % modvalue];
84
                };
77
                };
85
            };
78
            };
86
        };
79
        };
87
    }
80
    }
Line 134... Line 127...
134
    for (i = 0; i < l; i++) {
127
    for (i = 0; i < l; i++) {
135
        *((unsigned int*) &tex->data[ 4 * ( (y+i)*tex->w + (x) ) + 0 ]) = color;
128
        *((unsigned int*) &tex->data[ 4 * ( (y+i)*tex->w + (x) ) + 0 ]) = color;
136
    };    
129
    };    
137
};
130
};
Line -... Line 131...
-
 
131
 
-
 
132
void texture_draw_hline(rs_texture_t *tex, int x, int y, int l, unsigned int color) {
-
 
133
    int i;
-
 
134
    if (x+l >= tex->w) {
-
 
135
        l = tex->w - x;
-
 
136
    };
-
 
137
    for (i = 0; i < l; i++) {
-
 
138
        *((unsigned int*) &tex->data[ 4 * ( (y)*tex->w + (x+i) ) + 0 ]) = color;
-
 
139
    };    
-
 
140
};
Line 138... Line 141...
138
 
141
 
139
 
142
 
140
 
143
 
Line 212... Line 215...
212
 
215
 
Line 213... Line 216...
213
void game_reg_init() {
216
void game_reg_init() {
Line -... Line 217...
-
 
217
    
-
 
218
    game.loader_counter = 0;
214
    
219
    
215
    game.loader_counter = 0;
220
    game.need_redraw = 1;
Line 216... Line 221...
216
    
221
    
217
    game.score = 0;
222
    game.score = 0;
Line 280... Line 285...
280
                match_count++;
285
                match_count++;
281
            }
286
            }
282
            else {
287
            else {
283
                if (match_count >= 2) {
288
                if (match_count >= 2) {
284
                    found = 1;
289
                    found = 1;
285
//                    DEBUG10f("found vert (x %d, y %d, count %d) \n", x, y, match_count);
-
 
286
                    for (i = y+1; i < y+1+match_count+1; i++) {
290
                    for (i = y+1; i < y+1+match_count+1; i++) {
287
                        BIT_SET( FIELD_ITEM(x, i), CRYSTAL_EXPLODED_BIT );
291
                        BIT_SET( FIELD_ITEM(x, i), CRYSTAL_EXPLODED_BIT );
288
                    };
292
                    };
289
                }
293
                }
290
                item = FIELD_ITEM(x,y) & CRYSTAL_INDEX_MASK;
294
                item = FIELD_ITEM(x,y) & CRYSTAL_INDEX_MASK;
Line 316... Line 320...
316
                match_count++;
320
                match_count++;
317
            }
321
            }
318
            else {
322
            else {
319
                if (match_count >= 2) {
323
                if (match_count >= 2) {
320
                    found = 1;
324
                    found = 1;
321
//                    DEBUG10f("found horiz (x %d, y %d, count %d) \n", x, y, match_count);
-
 
322
                    for (i = x+1; i < x+1+match_count+1; i++) {
325
                    for (i = x+1; i < x+1+match_count+1; i++) {
323
                        BIT_SET( FIELD_ITEM(i, y), CRYSTAL_EXPLODED_BIT );
326
                        BIT_SET( FIELD_ITEM(i, y), CRYSTAL_EXPLODED_BIT );
324
                    };
327
                    };
325
                }
328
                }
326
                item = FIELD_ITEM(x,y) & CRYSTAL_INDEX_MASK;
329
                item = FIELD_ITEM(x,y) & CRYSTAL_INDEX_MASK;
327
                match_count = 0;
330
                match_count = 0;
328
            };
331
            };
329
        };
332
        };
330
        if (match_count >= 2) { // last
333
        if (match_count >= 2) { // last
331
            found = 1;
334
            found = 1;
332
//            DEBUG10("found horiz (2)");
-
 
333
            for (i = x+1; i < x+1+match_count+1; i++) {
335
            for (i = x+1; i < x+1+match_count+1; i++) {
334
                BIT_SET( FIELD_ITEM(i, y), CRYSTAL_EXPLODED_BIT );
336
                BIT_SET( FIELD_ITEM(i, y), CRYSTAL_EXPLODED_BIT );
335
            };
337
            };
336
        };
338
        };
337
    };
339
    };
Line 347... Line 349...
347
        };
349
        };
348
    };
350
    };
Line 349... Line 351...
349
    
351
    
350
    if (game.score > 99) {
352
    if (game.score > 99) {
-
 
353
        game.status = STATUS_MENU;
-
 
354
        game.need_redraw = 1;
-
 
355
    };
-
 
356
    
-
 
357
    if (found) {
351
        game.status = STATUS_MENU;
358
        game.need_redraw = 1;
Line 352... Line -...
352
    };
-
 
353
    
359
    };
354
//    DEBUG10f("found = %d \n", found);
360
    
Line 355... Line 361...
355
    return found;
361
    return found;
356
};
362
};
Line 361... Line 367...
361
        fall = 0;
367
        fall = 0;
362
        for (y = FIELD_HEIGHT-1; y > 0; y--) {
368
        for (y = FIELD_HEIGHT-1; y > 0; y--) {
363
            fall |= !(FIELD_ITEM(x, y) & CRYSTAL_VISIBLE_BIT);
369
            fall |= !(FIELD_ITEM(x, y) & CRYSTAL_VISIBLE_BIT);
364
            if (fall) {
370
            if (fall) {
365
                FIELD_ITEM(x, y) = FIELD_ITEM(x, y-1) | CRYSTAL_MOVING_BIT;
371
                FIELD_ITEM(x, y) = FIELD_ITEM(x, y-1) | CRYSTAL_MOVING_BIT;
-
 
372
                game.need_redraw = 1;
366
            }
373
            }
367
            else {
374
            else {
368
                BIT_CLEAR( FIELD_ITEM(x, y), CRYSTAL_MOVING_BIT );
375
                BIT_CLEAR( FIELD_ITEM(x, y), CRYSTAL_MOVING_BIT );
369
            };
376
            };
370
        };
377
        };
Line 380... Line 387...
380
    
387
    
381
    if (game.status == STATUS_LOADING) {
388
    if (game.status == STATUS_LOADING) {
382
        game.loader_counter++;
389
        game.loader_counter++;
Line 383... Line -...
383
        if (game.loader_counter == 2) {
-
 
384
                
-
 
385
//            texture_clear(&game.tex_bg, COLOR_SILVER);
-
 
386
//             /*
390
        if (game.loader_counter == 2) {
387
                
-
 
388
            rs_gen_init(6, 512);
-
 
389
            rs_gen_func_perlin(0, 8, 5, 0.5, 1100);
-
 
390
            rs_gen_func_normalize(0, 0.0, 1.0);
-
 
391
            rs_gen_func_perlin(1, 8, 5, 0.5, 1700);
-
 
392
            rs_gen_func_normalize(1, 0.0, 1.0);
-
 
393
            rs_gen_func_cell(2, 1360, 50, NULL, 1.0, 0.887, -0.333, 1.0, 0.0, 4.0);
-
 
394
            rs_gen_func_normalize(2, 0.0, 0.5);
-
 
395
 
-
 
396
            rs_gen_func_adr(3, 2, 0, 1, 1.0, 0.3);
-
 
397
            
-
 
398
            rs_gen_func_inv(3, 3, 7.5);
-
 
399
            rs_gen_func_normalize(3, 0.0, 1.0);
-
 
400
 
-
 
401
//            signed short c[] = { 0, 250, 250, 0, 500, 250, 250, 500};
-
 
402
            signed short c[] = { 0, 0, 0, 512, 512, 0, 512, 512};
-
 
403
//            signed short c[] = { 128, 128, 128, 384, 384, 128, 384, 384};
-
 
404
            //rs_gen_func_cell(4, 0, 4, c, 0.0, 0.3, 1.0, 0.5, 0.0, 0.30);
-
 
405
            rs_gen_func_cell(4, 0, 4, c, 1.0, 0.3, 0.0, 0.95, 0.0, 0.30);
-
 
406
            rs_gen_func_normalize(4, 0.0, 1.0);
-
 
407
 
-
 
408
//            rs_gen_func_radial(5, 0.5, 0.5, 0.60, 1.0, 4.0);
-
 
409
//            rs_gen_func_add(4, 4, 5, 0.5, 0.5);
-
 
410
//
-
 
411
            rs_gen_func_mult(4, 4, 3);
-
 
412
            
-
 
413
            // coloring...
-
 
414
            rs_gen_func_mult_add_value(0, 4, 0.8, 0.0);
-
 
415
            rs_gen_func_add(0, 4, 1, 0.95, 0.05);
-
 
416
            rs_gen_func_add(3, 4, 2, 0.95, 0.05);
-
 
417
 
-
 
418
            
-
 
419
            rs_gen_tex_out_rgba(4, 0, 3, -1, 0.9, 0.9, 0.9, 1.0);
-
 
420
            memcpy(game.tex_bg.data, rs_gen_reg.tex_out, 512*512*4 );
-
 
421
            rs_gen_term();
-
 
Line 422... Line 391...
422
            
391
                
-
 
392
            game_textures_init_stage2();
Line 423... Line 393...
423
            // */
393
               
424
            
394
            
425
            
395
        
Line 439... Line 409...
439
            process_timer = 0;
409
            process_timer = 0;
440
        };
410
        };
Line 441... Line 411...
441
        
411
        
442
        int i;
412
        int i;
-
 
413
        for (i = 0; i < game.explosions_count; i++) {
443
        for (i = 0; i < game.explosions_count; i++) {
414
            game.need_redraw = 1;
444
            game.explosions[i] = (game.explosions[i] & 0xFFFF) | ( ((game.explosions[i]>>16)+1) << 16 );
415
            game.explosions[i] = (game.explosions[i] & 0xFFFF) | ( ((game.explosions[i]>>16)+1) << 16 );
445
            if ( (game.explosions[i] >> 16) >= EXPLOSION_FRAMES_COUNT ) {
416
            if ( (game.explosions[i] >> 16) >= EXPLOSION_FRAMES_COUNT ) {
446
                game.explosions[i] = game.explosions[game.explosions_count-1];
417
                game.explosions[i] = game.explosions[game.explosions_count-1];
447
                game.explosions_count--;
418
                game.explosions_count--;
448
                i--;
419
                i--;
449
            };
420
            };
Line -... Line 421...
-
 
421
        };
-
 
422
        
-
 
423
        if ((game.time+1)/25 != game.time/25) {
-
 
424
            game.need_redraw = 1;
450
        };
425
        };
Line -... Line 426...
-
 
426
        
-
 
427
        game.time++;
-
 
428
        
451
        
429
        
Line 452... Line 430...
452
        game.time++;
430
        
Line 453... Line 431...
453
 
431
 
Line 475... Line 453...
475
    game.scaled_framebuffer = malloc(GAME_WIDTH*game.window_scale * GAME_HEIGHT*game.window_scale * 3);
453
    game.scaled_framebuffer = malloc(GAME_WIDTH*game.window_scale * GAME_HEIGHT*game.window_scale * 3);
476
    DEBUG10f("scaled framebuffer: %d (window_scale = %d) \n", game.window_scale * GAME_WIDTH * GAME_HEIGHT * 3, game.window_scale);
454
    DEBUG10f("scaled framebuffer: %d (window_scale = %d) \n", game.window_scale * GAME_WIDTH * GAME_HEIGHT * 3, game.window_scale);
Line 477... Line 455...
477
    
455
    
Line 478... Line -...
478
    game_font_init();
-
 
479
    
-
 
480
    texture_init(&game.framebuffer, GAME_WIDTH, GAME_HEIGHT);
-
 
481
    
-
 
482
//    texture_init(&game.tex, 64, 64);
-
 
483
//    rs_gen_init(1, 64);
-
 
484
//    rs_gen_func_set(0, 0.0);
-
 
485
//    rs_gen_func_cell(0, 1200, 10, NULL, 1.0, 1.0, 1.0, 1.0, 0.0, 1.0);
-
 
486
//    rs_gen_func_normalize(0, 0.0, 1.0);
-
 
487
//    rs_gen_func_posterize(0, 5);
-
 
488
//    rs_gen_tex_out_rgba(0, 0, 0, -1, 1.0, 1.0, 1.0, 1.0);
-
 
489
//    memcpy(game.tex.data, rs_gen_reg.tex_out, 64*64*4 );
-
 
490
//    rs_gen_term();
-
 
491
    
456
    game_font_init();
492
    texture_init(&game.tex_clouds, 128, 128);
-
 
493
    rs_gen_init(1, 128);
-
 
494
    rs_gen_func_perlin(0, 8, 5, 0.5, 1100);
-
 
495
    rs_gen_func_normalize(0, 0.0, 1.0);
-
 
496
    rs_gen_func_posterize(0, 6);
-
 
497
    rs_gen_func_mult_add_value(0, 0, 0.6, 0.4);
-
 
498
//    rs_gen_func_set(0, 1.0);
-
 
499
    rs_gen_tex_out_rgba(0, 0, 0, -1, 1.0, 1.0, 1.0, 1.0);
-
 
500
    memcpy(game.tex_clouds.data, rs_gen_reg.tex_out, 128*128*4 );
-
 
501
    rs_gen_term();
-
 
502
 
-
 
503
 
-
 
504
    
-
 
505
 
-
 
506
    texture_init(&game.tex_logo, GAME_WIDTH, 128);
-
 
507
    texture_clear(&game.tex_logo, COLOR_TRANSPARENT);
-
 
508
    
-
 
509
    game_textout_adv( &game.tex_logo, GAME_WIDTH/2 - 192, 3, 1, DRAW_MODE_REPLACE, "MARBLE");
-
 
510
    game_textout_adv( &game.tex_logo, GAME_WIDTH/2 - 192, 63, 1, DRAW_MODE_REPLACE, "MATCH3");
-
 
511
    texture_draw(&game.tex_logo, &game.tex_clouds, 0, 0, DRAW_MODE_MULT | DRAW_TILED_FLAG);
-
 
512
    game_textout_adv( &game.tex_logo, GAME_WIDTH/2 - 192 - 4, 0, 1, DRAW_MODE_MULT, "MARBLE");
-
 
513
    game_textout_adv( &game.tex_logo, GAME_WIDTH/2 - 192 - 4, 60, 1, DRAW_MODE_MULT, "MATCH3");
-
 
514
    
-
 
515
//    rs_gen_init(1, 128);
-
 
516
//    rs_gen_func_perlin(0, 8, 5, 0.5, 1100);
-
 
517
//    rs_gen_func_normalize(0, 0.0, 1.0);
-
 
518
//    rs_gen_func_posterize(0, 4);
-
 
519
//    rs_gen_func_normalize(0, 0.0, 0.50);
-
 
520
//    rs_gen_tex_out_rgba(0, 0, 0, -1, 0.9, 0.7, 0.5, 1.0);
-
 
521
//    memcpy(game.tex_clouds.data, rs_gen_reg.tex_out, 128*128*4 );
-
 
522
//    rs_gen_term();
-
 
523
 
-
 
524
    
-
 
525
    texture_init(&game.tex_bg, 512, 512);
-
 
526
    texture_clear(&game.tex_bg, COLOR_SILVER);
-
 
527
    
-
 
528
    texture_init(&game.tex_cursor, CRYSTAL_SIZE, CRYSTAL_SIZE);
-
 
529
    texture_clear(&game.tex_cursor, COLOR_SEMI_TRANSPARENT);
-
 
530
 
-
 
531
    
-
 
532
 
-
 
533
    
-
 
534
//    float cr_r[CRYSTALS_COUNT] = { 0.8, 0.2, 0.1, 0.6, 0.7, 0.0, 0.7 };
-
 
535
//    float cr_g[CRYSTALS_COUNT] = { 0.1, 0.6, 0.4, 0.0, 0.6, 0.0, 0.8 };
-
 
536
//    float cr_b[CRYSTALS_COUNT] = { 0.1, 0.1, 0.7, 0.7, 0.0, 0.3, 0.9 };
-
 
537
 
-
 
538
//    float cr_r[CRYSTALS_COUNT] = { 0.9, 0.3, 0.1, 0.7, 0.8, 0.0, 0.8 };
-
 
539
//    float cr_g[CRYSTALS_COUNT] = { 0.1, 0.8, 0.5, 0.0, 0.7, 0.0, 0.8 };
-
 
540
//    float cr_b[CRYSTALS_COUNT] = { 0.0, 0.1, 0.9, 0.8, 0.0, 0.5, 0.9 };
-
 
541
    
-
 
542
    float cr_r[CRYSTALS_COUNT] = { 1.0, 0.4, 0.1, 0.9, 0.9, 0.2, 0.8 };
-
 
543
    float cr_g[CRYSTALS_COUNT] = { 0.1, 1.0, 0.6, 0.1, 0.8, 0.2, 0.8 };
-
 
544
    float cr_b[CRYSTALS_COUNT] = { 0.0, 0.1, 1.0, 1.0, 0.0, 0.9, 0.9 };
-
 
545
    
-
 
546
 
-
 
547
    rs_gen_init(5, CRYSTAL_SIZE);
-
 
548
    for (i = 0; i < CRYSTALS_COUNT; i++) {
-
 
549
    
-
 
550
        texture_init(&(game.tex_crystals[i]), CRYSTAL_SIZE, CRYSTAL_SIZE);
-
 
551
        
-
 
552
        rs_gen_func_set(0, 0.0);
-
 
553
        rs_gen_func_radial(0, 0.5, 0.5, 0.5, 0.75, 10.0);
-
 
554
 
-
 
555
//        rs_gen_func_perlin(2, 33, 4, 0.5, 350+i);
-
 
556
//        rs_gen_func_normalize(2, 0.0, 1.0);
-
 
557
//        rs_gen_func_posterize(2, 4);
-
 
558
//        
-
 
559
//        rs_gen_func_cell(1, 410+i, 50, NULL, -2.0, 1.0, 1.0, 1.0, 0.0, 1.0);
-
 
560
//        rs_gen_func_posterize(1, 2);
-
 
561
//        rs_gen_func_normalize(1, 0.0, 1.0);
-
 
562
//        rs_gen_func_add(1, 1, 2, 1.0, 0.5);
-
 
563
//        rs_gen_func_normalize(1, 0.0, 1.0);
-
 
564
//        rs_gen_func_posterize(1, 4);
-
 
565
//
-
 
566
//        rs_gen_func_add(1, 0, 1, 1.0, 1.0);
-
 
567
//        rs_gen_func_normalize(1, 0.0, 1.0);
-
 
568
//        rs_gen_func_mult(1, 0, 1);
-
 
569
//        rs_gen_func_normalize(1, 0.0, 1.0);
-
 
570
//        rs_gen_func_posterize(1, 4);
-
 
571
        
-
 
572
        rs_gen_func_set(1, 0.0);
-
 
573
        rs_gen_func_cell(1, 110+100*i, 7+i, NULL, 1.0, 1.0, 0.0, 1.0, 0.0, 1.0);
-
 
574
        rs_gen_func_normalize(1, 0.0, 1.0);
-
 
575
//        rs_gen_func_mult_add_value(1, 1, 0.9, 0.1);
-
 
576
        
-
 
577
//        rs_gen_func_normalmap(2, 3, 3, 1, 1.0);
-
 
578
//        rs_gen_func_mult(1, 1, 2);
-
 
579
        
-
 
580
        //rs_gen_tex_out_rgba_set(0.0, 0.0, 0.0, 0.0);
-
 
581
        //rs_gen_tex_out_rgba(1, 1, 1, 1, 0.5+ 0.03*(i%2), 0.7+ 0.03*(i%3) , 0.9, 1.0);
-
 
582
//        rs_gen_tex_out_rgba_set(0.2 + 0.2*(i/3), 0.2 + 0.1*(i%5), 0.2 + 0.1*(i%7), 0.0);
-
 
583
//        rs_gen_tex_out_rgba(1, 1, 1, 1, 0.0, 0.0, 0.0, 1.0);
-
 
584
        
-
 
585
        rs_gen_tex_out_rgba_set(0.0, 0.0, 0.0, 0.0);
-
 
586
//        rs_gen_tex_out_rgba_set( cr_b[i], cr_g[i], cr_r[i], 0.0);
-
 
587
        rs_gen_tex_out_rgba(1, 1, 1, 0, cr_b[i], cr_g[i], cr_r[i], 1.0);
-
 
588
 
-
 
589
        memcpy(game.tex_crystals[i].data, rs_gen_reg.tex_out, CRYSTAL_SIZE*CRYSTAL_SIZE*4 );
-
 
590
    };
-
 
591
    rs_gen_term();
-
 
592
    
-
 
593
    
-
 
594
    
-
 
595
    rs_gen_init(3, EXPLOSION_SIZE);
-
 
596
    for (i = 0; i < EXPLOSION_FRAMES_COUNT; i++) {
-
 
597
            
-
 
598
        texture_init(&(game.tex_explosion[i]), EXPLOSION_SIZE, EXPLOSION_SIZE);
-
 
599
 
-
 
600
        rs_gen_func_set(0, 1.0);
-
 
601
//        rs_gen_func_radial(0, 0.5, 0.5, 0.3 + 0.5*i/EXPLOSION_FRAMES_COUNT, 0.975, 4.0);
-
 
602
//        rs_gen_func_set(0, 1.0);
-
 
603
 
-
 
604
        rs_gen_func_set(1, 0.0);
-
 
605
        rs_gen_func_radial(1, 0.5, 0.5, 0.1 + 0.4*i/EXPLOSION_FRAMES_COUNT, 1.0 - 1.0*i/EXPLOSION_FRAMES_COUNT, 2.5 + i%5);
-
 
606
 
-
 
607
        rs_gen_tex_out_rgba_set( 0.0, 0.0, 0.0, 0.0);
-
 
608
        rs_gen_tex_out_rgba(0, 0, 0, 1, 1.0, 1.0, 1.0, 1.0);
-
 
609
 
-
 
610
        memcpy(game.tex_explosion[i].data, rs_gen_reg.tex_out, EXPLOSION_SIZE*EXPLOSION_SIZE*4 );
-
 
Line 611... Line 457...
611
    };
457
    
612
    rs_gen_term();
458
    game_textures_init_stage1();
Line 644... Line 490...
644
        rs_audio_term();
490
        rs_audio_term();
645
    #endif
491
    #endif
Line 646... Line 492...
646
 
492
 
Line 647... Line 493...
647
    game_font_term();
493
    game_font_term();
-
 
494
    
Line 648... Line -...
648
    
-
 
649
    free(game.scaled_framebuffer);
-
 
650
    
-
 
651
    texture_free(&game.framebuffer);
-
 
Line 652... Line -...
652
    texture_free(&game.tex_logo);
-
 
Line 653... Line -...
653
    texture_free(&game.tex_clouds);
-
 
654
    texture_free(&game.tex_bg);
-
 
655
    
-
 
656
//    texture_free(&game.tex_gui_line);
-
 
Line 657... Line 495...
657
    
495
    game_textures_free();
658
//    int i;
496
    
659
//    for (i = 0; i < ROCKS_COUNT; i++) {
497
    
Line 674... Line 512...
674
 
512
 
Line -... Line 513...
-
 
513
 
-
 
514
 
-
 
515
void GameKeyDown(int key, int first) {
-
 
516
    
-
 
517
    if (key == RS_KEY_A) {
Line 675... Line 518...
675
 
518
    
676
 
519
        game.need_redraw = 1;
677
void GameKeyDown(int key, int first) {
520
        
678
    
521
    };    
Line 727... Line 570...
727
 
570
 
Line 728... Line 571...
728
    };
571
    };
Line 729... Line -...
729
    
-
 
730
    if (game.status == STATUS_PLAYING) {
-
 
731
        
-
 
Line 732... Line -...
732
        if (key == RS_KEY_A) {
-
 
Line 733... Line 572...
733
        
572
    
Line 734... Line -...
734
            
-
 
735
            
-
 
736
        };
-
 
737
        
573
    if (game.status == STATUS_PLAYING) {
Line 738... Line 574...
738
        if (key == RS_KEY_SPACE) {
574
        
Line 739... Line -...
739
            
-
 
740
            // Check and explode match-3
-
 
741
        
-
 
742
            
-
 
743
            game.score = 101;
-
 
744
            
-
 
745
            
-
 
746
        };
-
 
747
        
-
 
748
            
-
 
749
//        switch (key) {
-
 
750
//            
-
 
751
//            case RS_KEY_ESCAPE:
-
 
752
//                game.status = STATUS_MENU;
-
 
753
//                menu_open(0);
-
 
754
//                break;
-
 
755
//            case RS_KEY_A:
-
 
756
//                
-
 
757
////                if ( (game.tx > 0) && (game.ty > 5) && (game.tx < GAME_WIDTH-20) && (game.ty < GAME_HEIGHT-10) ) {
-
 
758
////                
-
 
759
////                    soundbuf_play(&game.sound_test1);
-
 
760
////                    
-
 
761
////                    game.bullet_index++;
575
 
Line 762... Line 576...
762
////                    game.bullet_index %= BULLETS_COUNT;
576
        
Line 763... Line 577...
763
////                    game.bullet_x[game.bullet_index] = game.tx + 12;
577
        if (key == RS_KEY_SPACE) {
Line 792... Line 606...
792
    };
606
    };
Line 793... Line 607...
793
 
607
 
Line 794... Line 608...
794
};
608
};
-
 
609
 
-
 
610
void GameMouseDown(int x, int y) {
-
 
611
    
795
 
612
    game.need_redraw = 1;
796
void GameMouseDown(int x, int y) {
613
    
Line 797... Line 614...
797
    game.tx = x;
614
    game.tx = x;
798
    game.ty = y;
615
    game.ty = y;