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); }
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); }
// 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()
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; }
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; }
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; }