Main Page | Alphabetical List | Class List | File List | Class Members | File Members

shared/skye.h

Go to the documentation of this file.
00001 #ifndef SKYE_H
00002 #define SKYE_H
00003 
00004 //#define FIELD_WIDTH  25
00005 //#define FIELD_HEIGHT 16
00006 
00007 typedef unsigned char map_square;
00008 //{{{
00009 typedef struct map_r1
00010 {
00011     char name[32];
00012     char author[32];
00013     char unused[32];
00014     map_square t[11][20];
00015 } map_r1;
00016 //}}}
00017 //{{{
00018 typedef struct map_r2
00019 {
00020     short width, height;
00021     short gamerules;
00022     short unused[5];
00023 } map_r2;
00024 //}}}
00025 //{{{
00026 // Level editor internal map format
00027 typedef struct editor_map
00028 {
00029     short width, height;
00030     short gamerules;
00031     
00032     char name[64];
00033     char author[64];
00034     char hint[64];
00035     char congrat[64];
00036     map_square **t;
00037 } editor_map;
00038 //}}}
00039 
00040 #define NUM_TILE_TYPES 44
00041 //{{{
00042 // These first 31 tiles are the same as in Dillon Collins Kye
00043 // This is to allow binary compatibility with DCKye kyelev and kyelib
00044 // files.
00045 #define TILE_EMPTY      0
00046 #define TILE_KYE        1
00047 #define TILE_SLIDER_S   2
00048 #define TILE_SLIDER_E   3
00049 #define TILE_SLIDER_N   4
00050 #define TILE_SLIDER_W   5
00051 #define TILE_ROCKY_S    6
00052 #define TILE_ROCKY_E    7
00053 #define TILE_ROCKY_N    8
00054 #define TILE_ROCKY_W    9
00055 #define TILE_DIAMOND   10
00056 #define TILE_BLOCK     11
00057 #define TILE_FUZZY     12
00058 #define TILE_BOULDER   13
00059 #define TILE_TWIST_CW  14
00060 #define TILE_TWIST_CCW 15
00061 #define TILE_STICKY_EW 16
00062 #define TILE_STICKY_NS 17
00063 #define TILE_PUSHER_W  18
00064 #define TILE_PUSHER_E  19
00065 #define TILE_PUSHER_N  20
00066 #define TILE_PUSHER_S  21
00067     // DCKye has four values unused here, which probably were meant to
00068     // correspond to monsters. Rather than skipping numbers and making
00069     // a mess of the internal format, this will be handled in import/
00070     // export code.
00071 #define TILE_UNUSED    22
00072    // Number points to the rounded corner/side on the numpad
00073 #define TILE_WALL_5    22
00074 #define TILE_WALL_3    23
00075 #define TILE_WALL_9    24
00076 #define TILE_WALL_7    25
00077 #define TILE_WALL_1    26
00078 #define TILE_WALL_2    27
00079 #define TILE_WALL_6    28
00080 #define TILE_WALL_8    29
00081 #define TILE_WALL_4    30
00082 #define TILE_EXPLODER  31
00083 #define TILE_PIT       32
00084 #define TILE_MAGNET_EW 33
00085 #define TILE_MAGNET_NS 34
00086 #define TILE_BLOB      35
00087 #define TILE_VIRUS     36
00088 #define TILE_TWISTER   37
00089 #define TILE_GNASHER   38
00090 #define TILE_SPIKE     39
00091 #define DOOR_EW        40
00092 #define DOOR_WE        41
00093 #define DOOR_NS        42
00094 #define DOOR_SN        43
00095 
00096 // Not yet supported
00097 #define TILE_AUTOROCKY  44
00098 #define TILE_AUTOSLIDER 45
00099 #define TILE_BLACKY    46
00100 #define TILE_TIMER_0   47
00101 #define TILE_TIMER_1   48
00102 #define TILE_TIMER_2   49
00103 #define TILE_TIMER_3   50
00104 #define TILE_TIMER_4   51
00105 #define TILE_TIMER_5   52
00106 #define TILE_TIMER_6   53
00107 #define TILE_TIMER_7   54
00108 #define TILE_TIMER_8   55
00109 #define TILE_TIMER_9   56
00110 //}}}
00111 
00112 //{{{
00113 typedef struct file_header {
00114     char magic_bytes[4]; // Must be 'SKye' if this is an SKye-format level
00115     long revision;       // Version of the file format.
00116     long num_levels;     // Number of levels in the file
00117 } file_header;
00118 //}}}
00119 
00120 #define RULESET_DCKYE 0
00121 #define RULESET_KYE92 1
00122 
00123 #endif

Generated on Thu Apr 22 14:06:33 2004 for SKye by doxygen 1.3.6