00001
00002
00003
00004 #ifndef __GAMEDEF_H
00005 #define __GAMEDEF_H
00006
00007
00008
00009 extern char *GAME_VERSION_STR;
00010 #define GAME_VERSION 201 // Version 1.00, don't change it unless the format of save game files has been changed
00011
00012
00013
00014 #define APP_NAME "CCampus" // application name
00015 #define WIN_CLASS_NAME "Virtual U" // for registering window class
00016 #define WIN_TITLE "Virtual U" // window title
00017
00018
00019
00020 enum { INFO_REPAINT=10, INFO_UPDATE, INFO_SPECIAL };
00021
00022
00023
00024 #define DIR_RES "RESOURCE\\"
00025 #define DIR_SOUND "SOUND\\"
00026 #define DIR_MOVIE sys.dir_movie
00027 #define DIR_TUTORIAL sys.dir_tutorial
00028 #define DIR_SCENARIO sys.dir_scenario
00029
00030
00031
00032 #define MAX_ZOOM_LEVEL 3
00033
00034 enum { ZOOM_SMALL=0, ZOOM_MEDIUM, ZOOM_LARGE };
00035
00036
00037
00038 #define MAX_DEPARTMENT 12
00039 #define STUDENT_TO_FACULTY_RATIO 14
00040
00041 #define CAN_BE_ANY -1 // for global use
00042
00043 #define IF(cond,x,y) ((cond)?(x):(y))
00044
00045
00046
00047
00048
00049 enum {
00050 INPUT_LOW, INPUT_MEDIUM, INPUT_HIGH,
00051
00052 INPUT_OPTION_COUNT,
00053 };
00054
00055 enum { GENDER_ETHNIC_TYPE_COUNT = 4 };
00056
00057 enum { NONMINORITY_MALE, NONMINORITY_FEMALE, MINORITY_MALE, MINORITY_FEMALE };
00058 enum { GENDER_MALE, GENDER_FEMALE };
00059
00060 enum {
00061 GENDER_ETHNIC_TYPE_COUNT_N_TOTAL = GENDER_ETHNIC_TYPE_COUNT + 1,
00062 GENDER_ETHNIC_TYPE_TOTAL = GENDER_ETHNIC_TYPE_COUNT,
00063 };
00064
00065
00066 enum { TRIMESTER_PER_YEAR = 3 };
00067
00068 enum { AUTUMN, WINTER, SUMMER };
00069
00070 enum {
00071 FIRST_TRIMESTER=AUTUMN,
00072 LAST_TRIMESTER=SUMMER
00073 };
00074
00075 enum {
00076 PRIVATE_SCHOOL, LIBERAL_ARTS_SCHOOL, PUBLIC_SCHOOL, COMPREHENSIVE_SCHOOL,
00077 INSTITUTIONAL_TYPE_COUNT, DUMMY_SCHOOL,
00078 };
00079
00080
00081
00082
00083 enum {
00084 HISTORY_YEAR_COUNT = 8,
00085
00086
00087 H_PREV_YEAR = HISTORY_YEAR_COUNT-3,
00088 H_THIS_YEAR = HISTORY_YEAR_COUNT-2,
00089 H_NEXT_YEAR = HISTORY_YEAR_COUNT-1,
00090
00091
00092 THIS_YEAR = HISTORY_YEAR_COUNT-1,
00093
00094
00095 HISTORY_YEAR_COUNT2 = HISTORY_YEAR_COUNT * 2,
00096
00097 OFFICE_REVENUE = HISTORY_YEAR_COUNT - 2,
00098 OFFICE_EXPENSE = HISTORY_YEAR_COUNT2 - 2,
00099
00100
00101
00102
00103 FIRST_H_THIS_YEAR = OFFICE_REVENUE,
00104 SECOND_H_THIS_YEAR = OFFICE_EXPENSE,
00105
00106 };
00107
00108 enum {
00109 HISTORY_MONTH_COUNT = 48,
00110
00111
00112 H_PREV_MONTH = HISTORY_MONTH_COUNT-3,
00113 H_THIS_MONTH = HISTORY_MONTH_COUNT-2,
00114 H_NEXT_MONTH = HISTORY_MONTH_COUNT-1,
00115
00116
00117 THIS_MONTH = HISTORY_MONTH_COUNT-1,
00118 };
00119
00120 enum {
00121 HISTORY_TRIMESTER_COUNT = 24,
00122
00123 H_PREV_TRIMESTER = HISTORY_TRIMESTER_COUNT-3,
00124 H_THIS_TRIMESTER = HISTORY_TRIMESTER_COUNT-2,
00125 H_NEXT_TRIMESTER = HISTORY_TRIMESTER_COUNT-1,
00126
00127
00128 THIS_TRIMESTER = HISTORY_TRIMESTER_COUNT-1,
00129 };
00130
00131 enum {
00132 UPDATE_MONTH, UPDATE_TRIMESTER, UPDATE_YEAR, UPDATE_ALL,
00133 };
00134
00135
00136
00137 #define shift_history(hArr, hCount) \
00138 { \
00139 \
00140 { \
00141 \
00142 int _h;\
00143 for ( _h=0; _h<hCount-1; _h++)\
00144 { \
00145 hArr[_h] = hArr[_h+1];\
00146 }\
00147 hArr[hCount-1] = 0;\
00148 }\
00149 \
00150 }
00151
00152
00153 #endif