[Tetrix] GTetrinet Client Theme and Shadow Patch
My GTetrinet 0.7.11 Shadow Patch and my theme.
- Download (Large Theme)
- Download (Shadow Patch)
- Show/Hide Source Code
diff -ruN gtetrinet-0.7.11/src/fields.c gtetrinet-af/src/fields.c
--- gtetrinet-0.7.11/src/fields.c 2005-03-18 23:19:17.000000000 +0200
+++ gtetrinet-af/src/fields.c 2008-08-27 02:58:22.000000000 +0300
@@ -48,7 +48,8 @@
static gint fields_specials_expose (GtkWidget *widget);
static void fields_refreshfield (int field);
-static void fields_drawblock (int field, int x, int y, char block);
+//static void fields_drawblock (int field, int x, int y, char block);
+void fields_drawblock (int field, int x, int y, char block);
static void gmsginput_activate (void);
@@ -361,10 +362,10 @@
int x, y;
for (y = 0; y < FIELDHEIGHT; y ++)
for (x = 0; x < FIELDWIDTH; x ++)
- if (newfield[y][x] != displayfields[field][y][x]) {
+ //if (newfield[y][x] != displayfields[field][y][x]) {
fields_drawblock (field, x, y, newfield[y][x]);
displayfields[field][y][x] = newfield[y][x];
- }
+ //}
}
void fields_drawblock (int field, int x, int y, char block)
diff -ruN gtetrinet-0.7.11/src/fields.h gtetrinet-af/src/fields.h
--- gtetrinet-0.7.11/src/fields.h 2005-03-18 23:19:17.000000000 +0200
+++ gtetrinet-af/src/fields.h 2008-08-27 02:58:22.000000000 +0300
@@ -22,3 +22,8 @@
extern void fields_gmsginputclear (void);
extern void fields_gmsginputactivate (int i);
extern const char *fields_gmsginputtext (void);
+
+
+//AF
+extern void fields_drawblock (int field, int x, int y, char block);
+
diff -ruN gtetrinet-0.7.11/src/gtetrinet.c gtetrinet-af/src/gtetrinet.c
--- gtetrinet-0.7.11/src/gtetrinet.c 2005-03-18 23:19:18.000000000 +0200
+++ gtetrinet-af/src/gtetrinet.c 2008-08-27 02:58:22.000000000 +0300
@@ -48,6 +48,10 @@
#include "images/partyline.xpm"
#include "images/winlist.xpm"
+#define DEBUGf(f,p...) fields_attdeffmt(f, ##p);
+
+
+
static GtkWidget *pixmapdata_label (char **d, char *str);
static int gtetrinet_key (int keyval, int mod);
gint keypress (GtkWidget *widget, GdkEventKey *key);
diff -ruN gtetrinet-0.7.11/src/tetris.c gtetrinet-af/src/tetris.c
--- gtetrinet-0.7.11/src/tetris.c 2005-03-18 23:19:19.000000000 +0200
+++ gtetrinet-af/src/tetris.c 2008-08-27 02:58:22.000000000 +0300
@@ -165,6 +165,32 @@
if (blocknum >= 0)
placeblock (field, blocknum, blockorient, blockx, blocky);
fields_drawfield (playerfield(playernum), field);
+
+
+ // AF: make shadow
+ FIELD shadowfield;
+ int x, y, y1, f;
+
+ if (blocknum < 0) return;
+
+ y1=0;
+ while (!blockobstructed(fields[playernum], blocknum, blockorient, blockx, y1))
+ y1++;
+ y1--;
+
+ if (y1-4<=blocky) return;
+
+ copyfield (shadowfield, field);
+ if (blocknum >= 0)
+ placeblock (shadowfield, blocknum, blockorient, blockx, y1);
+ f = playerfield(playernum);
+
+ for (y = 0; y < FIELDHEIGHT; y ++)
+ for (x = 0; x < FIELDWIDTH; x ++)
+ if (shadowfield[y][x] != fields[playernum][y][x]) {
+ fields_drawblock (f, x, y, shadowfield[y][x]);
+ }
+
}
int tetris_makeblock (int block, int orient)
Read more