View | Details | Raw Unified | Return to bug 184867
Collapse All | Expand All

(-)games/xdigger/Makefile (-13 / +7 lines)
Lines 5-12 Link Here
5
PORTVERSION=	1.0.10
5
PORTVERSION=	1.0.10
6
PORTREVISION=	2
6
PORTREVISION=	2
7
CATEGORIES=	games
7
CATEGORIES=	games
8
MASTER_SITES=	${MASTER_SITE_SUNSITE}
8
MASTER_SITES=	SUNSITE/games/arcade
9
MASTER_SITE_SUBDIR=	games/arcade
10
EXTRACT_SUFX=	.tgz
9
EXTRACT_SUFX=	.tgz
11
10
12
MAINTAINER=	ports@FreeBSD.org
11
MAINTAINER=	ports@FreeBSD.org
Lines 14-36 Link Here
14
13
15
USES=		imake
14
USES=		imake
16
USE_XORG=	x11 xext
15
USE_XORG=	x11 xext
17
MAN6=		xdigger.6
18
16
19
NO_STAGE=	yes
17
DESKTOP_ENTRIES="XDigger" "" "" "${PORTNAME}" "" ""
18
20
.include <bsd.port.options.mk>
19
.include <bsd.port.options.mk>
21
20
22
post-patch:
21
post-patch:
23
	@${REINPLACE_CMD} -e "s|%%PREFIX%%|${PREFIX}|g" ${WRKSRC}/configure.h
22
	@${REINPLACE_CMD} -e "s|%%PREFIX%%|${PREFIX}|g" ${WRKSRC}/configure.h
24
23
25
post-install:
24
post-install:
26
	@${CHMOD} 2755 ${PREFIX}/bin/xdigger
25
	@${MKDIR} ${STAGEDIR}${DOCSDIR}
27
	@${CHOWN} root:games ${PREFIX}/bin/xdigger
26
.for i in ChangeLog README
28
	@${CHMOD} 664 ${PREFIX}/share/xdigger/xdigger.hiscore
27
	(cd ${WRKSRC} && ${INSTALL_DATA} ${i} ${STAGEDIR}${DOCSDIR})
29
	@${CHOWN} root:games ${PREFIX}/share/xdigger/xdigger.hiscore
28
.endfor
30
.if ${PORT_OPTIONS:MDOCS}
31
	@${MKDIR} ${DOCSDIR}
32
	@${INSTALL_DATA} ${WRKSRC}/ChangeLog ${DOCSDIR}
33
	@${INSTALL_DATA} ${WRKSRC}/README ${DOCSDIR}
34
.endif
35
29
36
.include <bsd.port.mk>
30
.include <bsd.port.mk>
(-)games/xdigger/files/patch-ad (-1 / +7 lines)
Lines 16-22 Link Here
16
 
16
 
17
 #ifdef SOUND_RPLAY
17
 #ifdef SOUND_RPLAY
18
 RPLAYLIB = -lrplay
18
 RPLAYLIB = -lrplay
19
@@ -23,12 +23,10 @@
19
@@ -23,15 +23,13 @@
20
 
20
 
21
 ComplexProgramTarget(xdigger)
21
 ComplexProgramTarget(xdigger)
22
 InstallNonExecFile(xdigger.level,XDIGGER_LIB_DIR)
22
 InstallNonExecFile(xdigger.level,XDIGGER_LIB_DIR)
Lines 30-32 Link Here
30
 /* InstallNonExecFileNoClobber(xdigger.hiscore,XDIGGER_HISCORE_DIR) */
30
 /* InstallNonExecFileNoClobber(xdigger.hiscore,XDIGGER_HISCORE_DIR) */
31
 
31
 
32
 install::
32
 install::
33
-	$(MKDIRHIER) XDIGGER_HISCORE_DIR
34
-	touch XDIGGER_HISCORE_DIR/xdigger.hiscore
35
-	chmod a+w XDIGGER_HISCORE_DIR/xdigger.hiscore
36
+	$(MKDIRHIER) $(DESTDIR)XDIGGER_HISCORE_DIR
37
+	touch $(DESTDIR)XDIGGER_HISCORE_DIR/xdigger.hiscore
38
+	chmod a+w $(DESTDIR)XDIGGER_HISCORE_DIR/xdigger.hiscore
(-)games/xdigger/files/patch-runleves.c (+201 lines)
Line 0 Link Here
1
--- runlevels.c.orig
2
+++ runlevels.c
3
@@ -672,6 +672,20 @@
4
     }
5
 } /* DiggerHalfStep() */
6
 
7
+typedef struct
8
+{
9
+  unsigned char x, y, id, type;
10
+} TMerk;
11
+  
12
+void Merke(unsigned char type, int x, int y, int *merkidx, TMerk *merk)
13
+{
14
+  merk[*merkidx].x = x;
15
+  merk[*merkidx].y = y;
16
+  merk[*merkidx].id = field[x][y].id & 7;
17
+  merk[*merkidx].type = type;
18
+  *merkidx++;   
19
+}  
20
+
21
 void StoneDiamondStep()
22
 {
23
 
24
@@ -680,24 +694,10 @@
25
 #define SF_LEFTDOWN  2
26
 #define SF_CHANGER   3
27
   
28
-  typedef struct
29
-  {
30
-    unsigned char x, y, id, type;
31
-  } TMerk;
32
-  
33
   TMerk merk[140], ghosts_todie[17];
34
   int i, x, y, dx, dy, merkidx, ghosts_todie_idx;
35
   Bool digger_todie = False;  
36
-  
37
-  void Merke(unsigned char type)
38
-    {
39
-      merk[merkidx].x = x;
40
-      merk[merkidx].y = y;
41
-      merk[merkidx].id = field[x][y].id & 7;
42
-      merk[merkidx].type = type;
43
-      merkidx++;   
44
-    }  
45
-  
46
+
47
   /* Schritt 1  (nur markieren) : */
48
   merkidx = 0; ghosts_todie_idx = 0;
49
   
50
@@ -708,19 +708,19 @@
51
         (field[x][y].id == ID_IVDIAMOND))
52
     {
53
       if (field[x][y+1].id == ID_NOTHING)
54
-        Merke(SF_DOWN);
55
+        Merke(SF_DOWN, x, y, &merkidx, merk);
56
       else
57
         if ((field[x][y+1].id == ID_STONE) ||
58
             (field[x][y+1].id == ID_DIAMOND))
59
         {
60
           if ((field[x-1][y].id == ID_NOTHING) &&
61
               (field[x-1][y+1].id == ID_NOTHING))
62
-            Merke(SF_LEFTDOWN);
63
+            Merke(SF_LEFTDOWN, x, y, &merkidx, merk);
64
           else
65
             if ((field[x+1][y].id == ID_NOTHING) &&
66
                 (field[x+1][y+1].id == ID_NOTHING))
67
             {          
68
-              Merke(SF_RIGHTDOWN);
69
+              Merke(SF_RIGHTDOWN, x, y, &merkidx, &merk);
70
               field[x+1][y+1].id = ID_FSTODMD;
71
             }        
72
         }
73
@@ -729,7 +729,7 @@
74
                (field[x][y].id == ID_IVSTONE)) &&
75
               (field[x][y+1].id == ID_CHANGER) &&
76
               (field[x][y+2].id == ID_NOTHING))
77
-            Merke(SF_CHANGER);
78
+            Merke(SF_CHANGER, x, y, &merkidx, &merk);
79
     }
80
   merk[merkidx].x = 0;
81
   merk[merkidx].y = 0;
82
@@ -1573,6 +1573,50 @@
83
 
84
 /*---------------------------------------------------------------------------*/
85
 
86
+void Save_Ghost(int flags, int *id, int *d, unsigned char *file_daten)
87
+{
88
+  switch (flags & F_GHOST_TYPEMASK)
89
+  {
90
+  case F_GHOST_TYPE180:
91
+    *id = 3;
92
+    break;
93
+  case F_GHOST_TYPEL:
94
+    *id = 7;
95
+    break;
96
+  case F_GHOST_TYPER:
97
+    *id = 15;
98
+    break;
99
+  case F_GHOST_TYPELR:
100
+    *id = 11;
101
+    break;
102
+  }
103
+  switch (flags & F_GHOST_MOVEMASK)
104
+  {
105
+  case F_GHOST_DOWN:
106
+    *d = 0;
107
+    break;
108
+  case F_GHOST_UP:
109
+    *d = 1;
110
+    break;
111
+  case F_GHOST_RIGHT:
112
+    *d = 2;
113
+    break;
114
+  case F_GHOST_LEFT:
115
+    *d = 3;
116
+    break;
117
+  }
118
+  if (number_ghosts < MAX_GHOSTS)
119
+  {
120
+    if (number_ghosts & 1)
121
+      file_daten[0x94 + number_ghosts/2] =
122
+        (file_daten[0x94 + number_ghosts/2] & 0xf0) | (*d);
123
+    else
124
+      file_daten[0x94 + number_ghosts/2] =
125
+        (file_daten[0x94 + number_ghosts/2] & 0x0f) | (*d << 4);
126
+    number_ghosts++;
127
+  }
128
+}
129
+
130
 void Edit_SaveLevel(int level_number)
131
 {
132
 /*   char filename[256]; */
133
@@ -1580,50 +1624,6 @@
134
   int x, y, id, flags, i, d;
135
   FILE *filehandle;
136
   
137
-  void Save_Ghost()
138
-  {
139
-    switch (flags & F_GHOST_TYPEMASK)
140
-    {
141
-    case F_GHOST_TYPE180:
142
-      id = 3;
143
-      break;
144
-    case F_GHOST_TYPEL:
145
-      id = 7;
146
-      break;
147
-    case F_GHOST_TYPER:
148
-      id = 15;
149
-      break;
150
-    case F_GHOST_TYPELR:
151
-      id = 11;
152
-      break;
153
-    }
154
-    switch (flags & F_GHOST_MOVEMASK)
155
-    {
156
-    case F_GHOST_DOWN:
157
-      d = 0;
158
-      break;
159
-    case F_GHOST_UP:
160
-      d = 1;
161
-      break;
162
-    case F_GHOST_RIGHT:
163
-      d = 2;
164
-      break;
165
-    case F_GHOST_LEFT:
166
-      d = 3;
167
-      break;
168
-    }
169
-    if (number_ghosts < MAX_GHOSTS)
170
-    {
171
-      if (number_ghosts & 1)
172
-        file_daten[0x94 + number_ghosts/2] =
173
-          (file_daten[0x94 + number_ghosts/2] & 0xf0) | (d);
174
-      else
175
-        file_daten[0x94 + number_ghosts/2] =
176
-          (file_daten[0x94 + number_ghosts/2] & 0x0f) | (d << 4);
177
-      number_ghosts++;
178
-    }
179
-  }
180
-  
181
   bzero(file_daten, sizeof(file_daten));
182
   number_ghosts = 0;
183
   c = file_daten;
184
@@ -1637,7 +1637,7 @@
185
             diggerposy = y;
186
         }
187
         if (id == ID_GHOST)
188
-          Save_Ghost();
189
+          Save_Ghost(flags, &id, &d, file_daten);
190
         *c = (*c & 0x0f) | (id << 4);
191
 
192
   /* ------------------------------------------------------------------ */
193
@@ -1650,7 +1650,7 @@
194
             diggerposy = y;
195
         }
196
         if (id == ID_GHOST)
197
-          Save_Ghost();
198
+          Save_Ghost(flags, &id, &d, file_daten);
199
         *c = (*c & 0xf0) | id;
200
     }
201
   c += 3; 
(-)games/xdigger/pkg-plist (-9 / +18 lines)
Lines 1-10 Link Here
1
@mode 2755
2
@group games
1
bin/xdigger
3
bin/xdigger
2
%%PORTDOCS%%share/doc/xdigger/ChangeLog
4
@group
3
%%PORTDOCS%%share/doc/xdigger/README
5
@mode
4
share/xdigger/diamond.au
6
man/man6/xdigger.6.gz
5
share/xdigger/step.au
7
%%PORTDOCS%%%%DOCSDIR%%/ChangeLog
6
share/xdigger/stone.au
8
%%PORTDOCS%%%%DOCSDIR%%/README
7
share/xdigger/xdigger.hiscore
9
%%DATADIR%%/diamond.au
8
share/xdigger/xdigger.level
10
%%DATADIR%%/step.au
9
%%PORTDOCS%%@dirrm share/doc/xdigger
11
%%DATADIR%%/stone.au
10
@dirrm share/xdigger
12
@mode 644
13
@group games
14
%%DATADIR%%/xdigger.hiscore
15
@group
16
@mode
17
%%DATADIR%%/xdigger.level
18
@dirrm %%DATADIR%%
19
%%PORTDOCS%%@dirrm %%DOCSDIR%%

Return to bug 184867