Index: proj/include/sprite.h
===================================================================
--- proj/include/sprite.h	(revision 285)
+++ proj/include/sprite.h	(nonexistent)
@@ -1,6 +0,0 @@
-#ifndef SPRITE_H_INCLUDED
-#define SPRITE_H_INCLUDED
-
-
-
-#endif //SPRITE_H_INCLUDED

Property changes on: proj/include/sprite.h
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: proj/include/ent.h
===================================================================
--- proj/include/ent.h	(revision 285)
+++ proj/include/ent.h	(revision 286)
@@ -1,7 +1,7 @@
 #ifndef ENT_H_INCLUDED
 #define ENT_H_INCLUDED
 
-#include "sprite.h"
+#include "graph.h"
 #include "list.h"
 
 void (ent_set_scale) (double n);
Index: proj/libs/graph/include/rectangle.h
===================================================================
--- proj/libs/graph/include/rectangle.h	(revision 285)
+++ proj/libs/graph/include/rectangle.h	(revision 286)
@@ -10,6 +10,7 @@
 void (rectangle_set_pos)          (rectangle_t *p,  int16_t x,  int16_t y);
 void (rectangle_set_size)         (rectangle_t *p, uint16_t w, uint16_t h);
 void (rectangle_set_fill_color)   (rectangle_t *p, uint32_t color);
+void (rectangle_set_fill_trans)   (rectangle_t *p, uint8_t  alpha);
 void (rectangle_set_outline_color)(rectangle_t *p, uint32_t color);
 void (rectangle_set_outline_width)(rectangle_t *p,  int16_t width);
 
Index: proj/libs/graph/src/font.c
===================================================================
--- proj/libs/graph/src/font.c	(revision 285)
+++ proj/libs/graph/src/font.c	(revision 286)
@@ -59,8 +59,7 @@
     size_t nchars;
     glyph_t **glyphs;
 };
-#include "sprite.h"
-#include "rectangle.h"
+
 font_t* (font_ctor)(const char *s){
     font_t *ret = malloc(sizeof(font_t));
     if(ret == NULL) return NULL;
Index: proj/libs/graph/src/graph.c
===================================================================
--- proj/libs/graph/src/graph.c	(revision 285)
+++ proj/libs/graph/src/graph.c	(revision 286)
@@ -278,8 +278,6 @@
 int (graph_draw)(void){ memcpy(video_mem, video_buf, graph_get_vram_size()); return SUCCESS; }
 
 ///SPRITE
-#include "sprite.h"
-
 #include "utils.h"
 #include "fast_math.h"
 #include <math.h>
Index: proj/libs/graph/src/rectangle.c
===================================================================
--- proj/libs/graph/src/rectangle.c	(revision 285)
+++ proj/libs/graph/src/rectangle.c	(revision 286)
@@ -9,6 +9,7 @@
     int16_t  x, y;
     uint16_t w, h;
     uint32_t fill_color;
+    uint8_t  fill_alpha;
     uint32_t outline_color;
     int16_t  outline_width;
 };
@@ -21,6 +22,7 @@
     ret->w = w;
     ret->h = h;
     ret->fill_color    = 0xFFFFFF;
+    ret->fill_alpha    = 0xFF;
     ret->outline_color = 0x000000;
     ret->outline_width = 0;
     return ret;
@@ -33,6 +35,7 @@
 void (rectangle_set_pos)          (rectangle_t *p,  int16_t x,  int16_t y){ p->x = x; p->y = y; }
 void (rectangle_set_size)         (rectangle_t *p, uint16_t w, uint16_t h){ p->w = w; p->h = h; }
 void (rectangle_set_fill_color)   (rectangle_t *p, uint32_t color        ){ p->fill_color = color; }
+void (rectangle_set_fill_trans)   (rectangle_t *p, uint8_t  alpha        ){ p->fill_alpha = alpha; }
 void (rectangle_set_outline_color)(rectangle_t *p, uint32_t color        ){ p->outline_color = color; }
 void (rectangle_set_outline_width)(rectangle_t *p,  int16_t width        ){ p->outline_width = width; }
 
@@ -52,7 +55,6 @@
         graph_set_pixel(x_, y, color);
     }
 }
-
 static void (rectangle_draw_vline)(int16_t x, int16_t y, int16_t l, uint32_t color){
     if(l < 0){ rectangle_draw_vline(x, y+l, -l, color); return; }
     for(int16_t y_ = max(0,y); y_ < min(y+l,graph_get_YRes()); ++y_){
@@ -61,9 +63,11 @@
 }
 
 void (rectangle_draw)(const rectangle_t *p){
-    for(int16_t y = max(p->y,0); y < min(p->y+p->h, graph_get_YRes()); ++y)
-        rectangle_draw_hline(p->x, y, p->w, p->fill_color);
-
+    /// fill
+    if(p->fill_alpha > ALPHA_THRESHOLD)
+        for(int16_t y = max(p->y,0); y < min(p->y+p->h, graph_get_YRes()); ++y)
+            rectangle_draw_hline(p->x, y, p->w, p->fill_color);
+    /// border
     int16_t step = (p->outline_width > 0 ? 1 : -1);
     int16_t l = p->x, r = p->x+p->w, t = p->y, b = p->y+p->h;
     if(step > 0){
Index: proj/libs/timer/src/timer.c
===================================================================
--- proj/libs/timer/src/timer.c	(revision 285)
+++ proj/libs/timer/src/timer.c	(revision 286)
@@ -1,8 +1,6 @@
 #include <lcom/lcf.h>
 
 #include "timer.h"
-#include "graph.h"
-#include "sprite.h"
 
 #define TIMER_FREQ     1193182                                                          /**< @brief clock frequency for timer in PC and AT */
 #define TIMER_MIN_FREQ (TIMER_FREQ/UINT16_MAX) + ((TIMER_FREQ % UINT16_MAX) ? 1 : 0)    /**< @brief mininum frequency for timer */
Index: proj/maps/map1.h
===================================================================
--- proj/maps/map1.h	(revision 285)
+++ proj/maps/map1.h	(revision 286)
@@ -3,7 +3,7 @@
 
 #include "map1.xpm"
 #include "map1_collide.xpm"
-#include "sprite.h"
+#include "graph.h"
 
 #include "xpm_utils.h"
 
Index: proj/media/xpm/bullet.h
===================================================================
--- proj/media/xpm/bullet.h	(revision 285)
+++ proj/media/xpm/bullet.h	(revision 286)
@@ -2,7 +2,7 @@
 #define BULLET_H_INCLUDED
 
 #include "bullet.xpm"
-#include "sprite.h"
+#include "graph.h"
 
 basic_sprite_t* get_bullet(void){
     return basic_sprite_ctor((const char **)bullet_xpm, 3, 7);
Index: proj/media/xpm/crosshair.h
===================================================================
--- proj/media/xpm/crosshair.h	(revision 285)
+++ proj/media/xpm/crosshair.h	(revision 286)
@@ -1,6 +1,11 @@
+#ifndef CROSSHAIR_H_INCLUDED
+#define CROSSHAIR_H_INCLUDED
+
 #include "crosshair.xpm"
-#include "sprite.h"
+#include "graph.h"
 
 basic_sprite_t* get_crosshair(){
     return basic_sprite_ctor(crosshair_xpm, 16, 16);
 }
+
+#endif //CROSSHAIR_H_INCLUDED
Index: proj/media/xpm/nothing.h
===================================================================
--- proj/media/xpm/nothing.h	(revision 285)
+++ proj/media/xpm/nothing.h	(revision 286)
@@ -2,7 +2,7 @@
 #define NOTHING_H_INCLUDED
 
 #include "nothing.xpm"
-#include "sprite.h"
+#include "graph.h"
 
 basic_sprite_t* get_nothing(void){
     return basic_sprite_ctor((const char **)nothing_xpm, 34, 34);
Index: proj/media/xpm/pistol.h
===================================================================
--- proj/media/xpm/pistol.h	(revision 285)
+++ proj/media/xpm/pistol.h	(revision 286)
@@ -2,7 +2,7 @@
 #define PISTOL_H_INCLUDED
 
 #include "pistol.xpm"
-#include "sprite.h"
+#include "graph.h"
 
 basic_sprite_t* get_pistol(void){
     return basic_sprite_ctor((const char **)pistol_xpm, 34, 34);
Index: proj/media/xpm/shooter.h
===================================================================
--- proj/media/xpm/shooter.h	(revision 285)
+++ proj/media/xpm/shooter.h	(revision 286)
@@ -2,7 +2,7 @@
 #define SHOOTER_H_INCLUDED
 
 #include "shooter.xpm"
-#include "sprite.h"
+#include "graph.h"
 
 basic_sprite_t* get_shooter(void){
     return basic_sprite_ctor((const char **)shooter_xpm, 34, 34);
Index: proj/src/ent.c
===================================================================
--- proj/src/ent.c	(revision 285)
+++ proj/src/ent.c	(revision 286)
@@ -3,7 +3,6 @@
 #include "ent.h"
 
 #include "graph.h"
-#include "sprite.h"
 #include "utils.h"
 #include "rectangle.h"
 #include <math.h>
Index: proj/src/proj.c
===================================================================
--- proj/src/proj.c	(revision 285)
+++ proj/src/proj.c	(revision 286)
@@ -17,7 +17,6 @@
 #include "makecode_map.h"
 
 #include "graph.h"
-#include "sprite.h"
 #include "rectangle.h"
 #include "font.h"
 #include "ent.h"
