00001 00005 #if !defined(_GLOBALS_H_) 00006 #define _GLOBALS_H_ 00007 00008 #include <zakdef.h> 00009 #include <compilerpragmas.h> 00010 00011 #if defined(__cplusplus) 00012 extern "C" { 00013 #endif 00014 00029 typedef enum { 00030 gu_playarea = (1), 00031 gu_credits = (1<<1), 00032 gu_population = (1<<2), 00033 gu_date = (1<<3), 00034 gu_location = (1<<4), 00035 gu_buildicon = (1<<5), 00036 gu_speed = (1<<6), 00037 gu_desires = (1<<7), 00038 gu_all = (1<<8) 00039 } graphicupdate_t; 00040 00044 typedef enum { 00045 sb_autobulldoze = (1), 00046 sb_showminimap = (1<<1), 00047 sb_detailedminimap = (1<<2) 00048 } gamestatusbit_t; 00049 00051 #define SETAUTOBULLDOZE(X) setGameBit(sb_autobulldoze, (X)) 00052 00053 #define GETAUTOBULLDOZE() getGameBit(sb_autobulldoze) 00054 00055 #define SETMINIMAPVISIBLE(X) setGameBit(sb_showminimap, (X)) 00056 00057 #define GETMINIMAPVISIBLE() getGameBit(sb_showminimap) 00058 00059 #define SETMINIMAPDETAILED(X) setGameBit(sb_detailedminimap, (X)) 00060 00061 #define GETMINIMAPDETAILED() getGameBit(sb_detailedminimap) 00062 00063 extern GameStruct game; 00064 extern vGameStruct vgame; 00065 extern vGameVisuals visuals; 00066 extern AppConfig_t gameConfig; 00067 extern void *worldPtr; 00068 extern void *flagPtr; 00069 extern void *growablePtr; 00070 00071 EXPORT char *getDate(char *temp); 00072 00073 EXPORT UInt32 scaleNumber(UInt32 old_value, Char *scale); 00074 EXPORT void *getIndexOf(char *ary, Int16 addit, Int16 key); 00075 EXPORT UInt8 getDisasterLevel(void); 00076 EXPORT void setDisasterLevel(UInt8 value); 00077 EXPORT UInt8 getDifficultyLevel(void); 00078 EXPORT void setDifficultyLevel(UInt8 value); 00079 00080 EXPORT Int16 InitWorld(void); 00081 EXPORT Int16 ResizeWorld(UInt32 size); 00082 00083 EXPORT void PurgeWorld(void); 00084 00085 EXPORT welem_t getWorld(UInt32 pos); 00086 EXPORT void setWorld(UInt32 pos, welem_t value); 00087 EXPORT selem_t getWorldFlags(UInt32 pos); 00088 EXPORT void setWorldFlags(UInt32 pos, selem_t value); 00089 EXPORT void orWorldFlags(UInt32 pos, selem_t value); 00090 EXPORT void andWorldFlags(UInt32 pos, selem_t value); 00091 EXPORT void getWorldAndFlag(UInt32 pos, welem_t *world, selem_t *flag); 00092 EXPORT void setWorldAndFlag(UInt32 pos, welem_t value, selem_t status); 00093 00094 EXPORT void addGraphicUpdate(graphicupdate_t entity); 00095 EXPORT void removeGraphicUpdate(graphicupdate_t entity); 00096 EXPORT UInt8 checkGraphicUpdate(graphicupdate_t entity); 00097 EXPORT UInt8 checkAnyGraphicUpdate(void); 00098 EXPORT void clearGraphicUpdate(void); 00099 00100 EXPORT void setGameBit(gamestatusbit_t bit, UInt8 value); 00101 EXPORT UInt8 getGameBit(gamestatusbit_t bit); 00102 00103 EXPORT void PackBits(void *src, void *dest, UInt8 nbits, UInt32 count); 00104 EXPORT void UnpackBits(void *src, void *dest, UInt8 nbits, UInt32 count); 00105 00106 #if defined(__cplusplus) 00107 } 00108 #endif 00109 00110 #endif