1 /* $Id: scheduler.c,v 1.92 2005/07/10 04:49:59 oohara Exp $ */ 2 3 #include <stdio.h> 4 5 #include "const.h" 6 #include "tenm_table.h" 7 #include "last-boss.h" 8 #include "normal-enemy.h" 9 #include "seiron.h" 10 #include "seiron-fake.h" 11 #include "net-can-howl.h" 12 #include "stage.h" 13 #include "ship.h" 14 #include "plan-0.h" 15 #include "plan-1.h" 16 #include "plan-2.h" 17 #include "plan-3.h" 18 #include "plan-4.h" 19 #include "plan-5.h" 20 #include "plan-6.h" 21 #include "plan-7.h" 22 #include "plan-8.h" 23 #include "plan-9.h" 24 #include "plan-10.h" 25 #include "plan-11.h" 26 #include "plan-12.h" 27 #include "plan-13.h" 28 #include "plan-14.h" 29 #include "plan-15.h" 30 #include "plan-16.h" 31 #include "plan-17.h" 32 #include "plan-18.h" 33 #include "plan-19.h" 34 #include "plan-20.h" 35 36 #include "scheduler.h" 37 38 static int this_stage_cleared = 0; 39 40 int scheduler(int tutorial,int t)41scheduler(int tutorial, int t) 42 { 43 /* sanity check */ 44 if (t < 0) 45 return SCHEDULER_ERROR; 46 47 if (this_stage_cleared != 0) 48 { 49 this_stage_cleared = 0; 50 if (get_ship() < 0) 51 return SCHEDULER_SUCCESS; 52 return SCHEDULER_NEXT_STAGE; 53 } 54 55 if (tutorial) 56 return plan_0(t); 57 58 switch(get_stage_id(get_stage_number())) 59 { 60 case 0: 61 return plan_0(t); 62 break; 63 case 1: 64 return plan_1(t); 65 break; 66 case 2: 67 return plan_2(t); 68 break; 69 case 3: 70 return plan_3(t); 71 break; 72 case 4: 73 return plan_4(t); 74 break; 75 case 5: 76 return plan_5(t); 77 break; 78 case 6: 79 return plan_6(t); 80 break; 81 case 7: 82 return plan_7(t); 83 break; 84 case 8: 85 return plan_8(t); 86 break; 87 case 9: 88 return plan_9(t); 89 break; 90 case 10: 91 return plan_10(t); 92 break; 93 case 11: 94 return plan_11(t); 95 break; 96 case 12: 97 return plan_12(t); 98 break; 99 case 13: 100 return plan_13(t); 101 break; 102 case 14: 103 return plan_14(t); 104 break; 105 case 15: 106 return plan_15(t); 107 break; 108 case 16: 109 return plan_16(t); 110 break; 111 case 17: 112 return plan_17(t); 113 break; 114 case 18: 115 return plan_18(t); 116 break; 117 case 19: 118 return plan_19(t); 119 break; 120 case 20: 121 return plan_20(t); 122 break; 123 default: 124 fprintf(stderr, "scheduler: strange stage_id (%d) (t = %d)\n", 125 get_stage_id(get_stage_number()), t); 126 break; 127 } 128 129 return SCHEDULER_ERROR; 130 } 131 132 void set_this_stage_cleared(int n)133set_this_stage_cleared(int n) 134 { 135 this_stage_cleared = n; 136 } 137