diff options
| author | Simon Robertshaw <simon@hardwired.org.uk> | 2011-06-09 21:35:00 (GMT) |
|---|---|---|
| committer | Simon Robertshaw <simon@hardwired.org.uk> | 2011-06-09 21:35:00 (GMT) |
| commit | 1f7106acb16962f925dfccc67dafc39f3bcfd877 (patch) | |
| tree | 324c1f589da96a30205838e372489d9d9bde6132 /includes | |
| parent | 1effdb052a0b952d1390109bed67b3371046ccb7 (diff) | |
| download | powder-1f7106acb16962f925dfccc67dafc39f3bcfd877.zip powder-1f7106acb16962f925dfccc67dafc39f3bcfd877.tar.gz | |
Gravity zoning
Diffstat (limited to 'includes')
| -rw-r--r-- | includes/air.h | 1 | ||||
| -rw-r--r-- | includes/graphics.h | 2 | ||||
| -rw-r--r-- | includes/misc.h | 2 | ||||
| -rw-r--r-- | includes/powder.h | 8 |
4 files changed, 12 insertions, 1 deletions
diff --git a/includes/air.h b/includes/air.h index 821d9fb..dfa417c 100644 --- a/includes/air.h +++ b/includes/air.h @@ -5,6 +5,7 @@ extern float gravmap[YRES/CELL][XRES/CELL]; //Maps to be used by the main thread extern float gravx[YRES/CELL][XRES/CELL]; extern float gravy[YRES/CELL][XRES/CELL]; +extern unsigned gravmask[YRES/CELL][XRES/CELL]; extern float th_ogravmap[YRES/CELL][XRES/CELL]; // Maps to be processed by the gravity thread extern float th_gravmap[YRES/CELL][XRES/CELL]; diff --git a/includes/graphics.h b/includes/graphics.h index d228e83..50d8ab1 100644 --- a/includes/graphics.h +++ b/includes/graphics.h @@ -110,6 +110,8 @@ void draw_icon(pixel *vid_buf, int x, int y, char ch, int flag); void draw_air(pixel *vid); +void draw_grav_zones(pixel *vid); + void draw_grav(pixel *vid); void draw_line(pixel *vid, int x1, int y1, int x2, int y2, int r, int g, int b, int a); diff --git a/includes/misc.h b/includes/misc.h index 2ca0ac6..51d7b98 100644 --- a/includes/misc.h +++ b/includes/misc.h @@ -71,6 +71,8 @@ int cpu_check(void); void HSV_to_RGB(int h,int s,int v,int *r,int *g,int *b); void RGB_to_HSV(int r,int g,int b,int *h,int *s,int *v); + +void membwand(void * dest, void * src, size_t destsize, size_t srcsize); // a b // c d struct matrix2d { diff --git a/includes/powder.h b/includes/powder.h index c0cf8b9..86b0967 100644 --- a/includes/powder.h +++ b/includes/powder.h @@ -23,7 +23,7 @@ #define UI_WALLSTART 222 #define UI_ACTUALSTART 122 -#define UI_WALLCOUNT 20 +#define UI_WALLCOUNT 21 #define WL_WALLELEC 122 #define WL_EWALL 123 @@ -40,6 +40,7 @@ #define WL_ALLOWSOLID 133 #define WL_ALLOWALLELEC 134 #define WL_EHOLE 135 +#define WL_GRAV 142 #define SPC_AIR 236 #define SPC_HEAT 237 @@ -832,6 +833,7 @@ static wall_type wtypes[] = {PIXPACK(0x303030), PIXPACK(0x000000), -1, "Vacuum, reduces air pressure."}, {PIXPACK(0x579777), PIXPACK(0x000000), 1, "Wall. Indestructible. Blocks liquids and solids, allows gasses"}, {PIXPACK(0x000000), PIXPACK(0x000000), -1, "Drag tool"}, + {PIXPACK(0xFFEE00), PIXPACK(0xAA9900), 4, "Gravity wall"}, }; #define CHANNELS ((int)(MAX_TEMP-73.15f)/100+2) @@ -839,6 +841,8 @@ particle portalp[CHANNELS][8][80]; const particle emptyparticle; int wireless[CHANNELS][2]; +extern int gravwl_timeout; + extern int isplayer; extern float player[27]; @@ -913,4 +917,6 @@ void orbitalparts_get(int block1, int block2, int resblock1[], int resblock2[]); void orbitalparts_set(int *block1, int *block2, int resblock1[], int resblock2[]); +void gravity_mask(); + #endif |
