Ejemplo n.º 1
0
Archivo: op_01.c Proyecto: nmlgc/ReC98
void op_animate(void)
{
    int door_x, door_y; // Sony Vegas calls this a "Barn Door" transition.
    const char gbZUN[] = {gb_Z_, gb_U_, gb_N_, 0};

    text_wipe();
    snd_load("huuma.efc", SND_LOAD_SE);
    pi_load_put_free_to("op2.pi", 1);
    pi_load_put_free_to("op.pi", 0);
    pi_slot_load(0, "opa.pi");
    pi_slot_load(1, "opb.pi");
    pi_slot_load(2, "opc.pi");
    palette_white();

    for(door_x = 0; door_x < 40; door_x++) {
        for(door_y = 0; door_y < 25; door_y++) {
            text_putca(39 - door_x, door_y, ' ', TX_WHITE);
            text_putca(door_x + 40, door_y, ' ', TX_WHITE);
        }
        palette_settone(200 - (door_x * 2));
        frame_delay(1);
    }
    for(door_x = 40; door_x < 50; door_x++) {
        palette_settone(200 - (door_x * 2));
        frame_delay(1);
    }
    palette_100();

    if(mikoconfig->demo_num == 0) {
        door_x = 0;
        if(snd_midi_possible) {
            door_x = snd_midi_active;
            snd_midi_active = 1;
            snd_load("op.m", SND_LOAD_SONG);
        }
        snd_midi_active = 0;
        snd_load("op.m", SND_LOAD_SONG);
        snd_midi_active = door_x;
    }

    frame_delay(18);
    title_flash();

    palette_white();
    graph_accesspage(1);

    graph_gaiji_putc(548, 384, gs_COPYRIGHT, 0);
    graph_gaiji_puts(564, 384, 16, gbZUN, 0);
    graph_gaiji_putc(544, 380, gs_COPYRIGHT, 6);
    graph_gaiji_puts(560, 380, 16, gbZUN, 6);
    graph_copy_page(0);

    if(mikoconfig->demo_num == 0) {
        snd_kaja_func(KAJA_SONG_PLAY, 0);
    }
    mikoconfig->demo_num = 0;
    palette_entry_rgb_show("op.rgb");
    palette_white_in(6);
}
Ejemplo n.º 2
0
Archivo: op_06.c Proyecto: nmlgc/ReC98
void pascal near music_flip(void)
{
	screen_back_B_put();
	grcg_setcolor(GC_RMW | GC_B, 15);
	polygons_update_and_render();
	grcg_off();
	graph_showpage(music_page);
	music_page = 1 - music_page;
	graph_accesspage(music_page);
	frame_delay(1);
}
Ejemplo n.º 3
0
// au départ c'est le joueur de gauche qui a le service
// il doit déplacer sa raquette pour lancer la balle.
// la balle part avec un angle pointant vers le haut
// ou le bas en fonction de la direction du
// déplacement de la raquette.
void play_pong(){
	wait_service();
	running=1;
	while (running){
		move_paddle(LEFT_PLAYER);
		move_paddle(RIGHT_PLAYER);
		move_ball();
		frame_sync();
		frame_delay(1);
	}
}//f()
Ejemplo n.º 4
0
int key_delay_sense(void)
{
	extern char key_delay_groups[3];
	int ret;
	ret  = key_sense(key_delay_groups[0]);
	ret |= key_sense(key_delay_groups[1]);
	ret |= key_sense(key_delay_groups[2]);
	frame_delay(2);
	ret |= key_sense(key_delay_groups[0]);
	ret |= key_sense(key_delay_groups[1]);
	ret |= key_sense(key_delay_groups[2]);
	return ret;
}
Ejemplo n.º 5
0
Archivo: op_01.c Proyecto: nmlgc/ReC98
void pascal near start_init(void)
{
    snd_se_reset();
    snd_se_play(13);
    snd_se_update();
    frame_delay(20);

    mikoconfig->rem_lives = lives;
    mikoconfig->rem_bombs = bombs;
    mikoconfig->start_lives = lives;
    mikoconfig->start_bombs = bombs;
    mikoconfig->bgm_mode = snd_bgm_mode;
    mikoconfig->start_power = 0;
    mikoconfig->score = 0;
    mikoconfig->continues_used = 0;
    mikoconfig->unused_3 = 0;
    mikoconfig->unused_1 = 0;
    mikoconfig->demo_num = 0;
    mikoconfig->score_highest = 0;
}
Ejemplo n.º 6
0
Archivo: op_01.c Proyecto: nmlgc/ReC98
int main(void)
{
    unsigned char ret;
    if(snd_pmd_resident()) {
        snd_mmd_resident();
        if(game_init_op()) {
            zun_error(ERROR_OUT_OF_MEMORY);
            return 1;
        }
        extra_unlocked = score_cleared_load();
        if(cfg_load() == 1) {
            return 1;
        }
    } else {
        return 1;
    }
    gaiji_backup();
    gaiji_entry_bfnt("MIKOFT.bft");
    if(mikoconfig->demo_num == 0) {
        demo_num = 1;
        snd_kaja_func(KAJA_SONG_STOP, 0);
    } else {
        demo_num = mikoconfig->demo_num + 1;
        if(demo_num > 3) {
            demo_num = 1;
        }
        score_duration = 350;
        score_menu();
        graph_showpage(0);
        graph_accesspage(0);
    }
    input = 0;

    snd_active = snd_bgm_mode;
    if(!mikoconfig->demo_num && snd_midi_possible) {
        char midi_active = snd_midi_active;

        snd_midi_active = 1;
        snd_load("gminit.m", SND_LOAD_SONG);
        snd_kaja_func(KAJA_SONG_PLAY, 0);
        snd_midi_active = midi_active;
    }

    op_animate();
    pi_slot_load(2, "ts3.pi");
    pi_slot_load(1, "ts2.pi");
    input = 0;
    idle_frames = 0;

    while(!quit) {
        input_sense();
        if(in_option == 0) {
            main_update_and_render();
        } else if(in_option == 1) {
            option_update_and_render();
        }
        mikoconfig->frame++;
        idle_frames++;
        frame_delay(1);
    }

    ret = mikoconfig->op_main_retval;
    mikoconfig_sgm = 0;
    cfg_save();
    text_clear();
    graph_clear();
    game_exit_to_dos();
    gaiji_restore();
    return ret;
}