Skip to content

Commit 492c070

Browse files
committed
buffer fix
1 parent 0653901 commit 492c070

File tree

1 file changed

+39
-12
lines changed

1 file changed

+39
-12
lines changed

CoordCube.js

Lines changed: 39 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -74,8 +74,12 @@ var twistMove = CoordCubie.twistMove = [];
7474
console.log("Loading twistMove...");
7575
var data = fs.readFileSync(filename);
7676
for (var i = 0; i < N_TWIST; i++) {
77-
twistMove[i] = new Int16Array(data.slice(i*N_MOVE*2, i*N_MOVE*2+N_MOVE*2));
77+
twistMove[i] = new Int16Array(N_MOVE);
78+
for (var j = 0; j < N_MOVE; j++) {
79+
twistMove[i][j] = data.readInt16LE((i*N_MOVE+j)*2);
80+
}
7881
}
82+
7983
} else {
8084
console.log("Generating twistMove...");
8185
for (var i = 0; i < N_TWIST; i++) {
@@ -93,11 +97,13 @@ var twistMove = CoordCubie.twistMove = [];
9397
// a
9498
}
9599
}
96-
var data = "";
100+
var data = new Buffer(N_TWIST*N_MOVE*2);
97101
for (var i = 0; i < N_TWIST; i++) {
98-
data += new Buffer(new Uint8Array(twistMove[i].buffer)).toString('binary');
102+
for (var j = 0; j < N_MOVE; j++) {
103+
data.writeInt16LE(twistMove[i][j], (i*N_MOVE+j)*2);
104+
}
99105
}
100-
fs.writeFileSync(filename, data, 'binary');
106+
fs.writeFileSync(filename, data);
101107
}
102108

103109
}());
@@ -114,7 +120,10 @@ var flipMove = CoordCubie.flipMove = [];
114120
console.log("Loading flipMove...");
115121
var data = fs.readFileSync(filename);
116122
for (var i = 0; i < N_FLIP; i++) {
117-
flipMove[i] = new Int16Array(data.slice(i*N_MOVE*2, i*N_MOVE*2+N_MOVE*2));
123+
flipMove[i] = new Int16Array(N_MOVE);
124+
for (var j = 0; j < N_MOVE; j++) {
125+
flipMove[i][j] = data.readInt16LE((i*N_MOVE+j)*2);
126+
}
118127
}
119128
} else {
120129
console.log("Generating flipMove...");
@@ -134,11 +143,17 @@ var flipMove = CoordCubie.flipMove = [];
134143
// a
135144
}
136145
}
137-
var data = "";
146+
var data = new Buffer(N_FLIP*N_MOVE*2);
138147
for (var i = 0; i < N_FLIP; i++) {
139-
data += new Buffer(new Uint8Array(flipMove[i].buffer)).toString('binary');
148+
for (var j = 0; j < N_MOVE; j++) {
149+
data.writeInt16LE(flipMove[i][j], (i*N_MOVE+j)*2);
150+
}
140151
}
141-
fs.writeFileSync(filename, data, 'binary');
152+
/*var data = "";
153+
for (var i = 0; i < N_FLIP; i++) {
154+
data += new Buffer(new Uint8Array(flipMove[i].buffer)).toString('binary');
155+
}*/
156+
fs.writeFileSync(filename, data);
142157
}
143158
}());
144159

@@ -164,8 +179,14 @@ var FRtoBR_Move = CoordCubie.FRtoBR_Move = [];
164179
console.log("Loading FRtoBR_Move...");
165180
var data = fs.readFileSync(filename);
166181
for (var i = 0; i < N_FRtoBR; i++) {
167-
FRtoBR_Move[i] = new Int16Array(data.slice(i*N_MOVE*2, i*N_MOVE*2+N_MOVE*2));
182+
FRtoBR_Move[i] = new Int16Array(N_MOVE);
183+
for (var j = 0; j < N_MOVE; j++) {
184+
FRtoBR_Move[i][j] = data.readInt16LE((i*N_MOVE+j)*2);
185+
}
168186
}
187+
/*for (var i = 0; i < N_FRtoBR; i++) {
188+
FRtoBR_Move[i] = new Int16Array(data.slice(i*N_MOVE*2, i*N_MOVE*2+N_MOVE*2));
189+
}*/
169190
} else {
170191
console.log("Generating FRtoBR_Move...");
171192
for (var i = 0; i < N_FRtoBR; i++) {
@@ -183,11 +204,17 @@ var FRtoBR_Move = CoordCubie.FRtoBR_Move = [];
183204
a.edgeMultiply(CubieCube.moveCube[j]);
184205
}
185206
}
186-
var data = "";
207+
var data = new Buffer(N_FRtoBR*N_MOVE*2);
187208
for (var i = 0; i < N_FRtoBR; i++) {
188-
data += new Buffer(new Uint8Array(FRtoBR_Move[i].buffer)).toString('binary');
209+
for (var j = 0; j < N_MOVE; j++) {
210+
data.writeInt16LE(FRtoBR_Move[i][j], (i*N_MOVE+j)*2);
211+
}
189212
}
190-
fs.writeFileSync(filename, data, 'binary');
213+
/*var data = "";
214+
for (var i = 0; i < N_FRtoBR; i++) {
215+
data += new Buffer(new Uint8Array(FRtoBR_Move[i].buffer)).toString('binary');
216+
}*/
217+
fs.writeFileSync(filename, data);
191218
}
192219
}());
193220

0 commit comments

Comments
 (0)