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