Преглед на файлове

Why offsets weren't 16-bits yet?

Eiyeron Fulmincendii преди 11 години
родител
ревизия
2423d6efa1
променени са 2 файла, в които са добавени 6 реда и са изтрити 6 реда
  1. 4 4
      init_states.c
  2. 2 2
      pattern.c

+ 4 - 4
init_states.c

@@ -2,7 +2,7 @@
 #include "pattern.h"
 
 const unsigned char patternTest1[] = {
-	0x05,    0x20,
+	0x05,    0x00, 0x20,
 	0x01,    0x00, 0x00,    0x00, 0x05,
 	0x02,    0x00, 0x00,    0x00, 0x05,
 	0x03,    0x00, 0x00,    0x00, 0x05,
@@ -12,7 +12,7 @@ const unsigned char patternTest1[] = {
 };
 
 const unsigned char patternTest2[] = {
-	0x0C,    0x40,
+	0x0C,    0x00, 0x40,
 	0x00,    0x00, 0x00,    0x00, 0x03,
 	0x02,    0x00, 0x00,    0x00, 0x03,
 	0x04,    0x00, 0x00,    0x00, 0x03,
@@ -31,7 +31,7 @@ const unsigned char patternTest2[] = {
 };
 
 const unsigned char patternTest3[] = {
-	0x09,   0x60,
+	0x09,   0x00, 0x60,
 	0x00,   0x00, 0x00,    0x00, 0x04,
 	0x01,   0x00, 0x00,    0x00, 0x04,
 	0x02,   0x00, 0x00,    0x00, 0x04,
@@ -46,7 +46,7 @@ const unsigned char patternTest3[] = {
 };
 
 const unsigned char patternTest4[] = {
-	0x0D,  0xB0,
+	0x0D,  0x00, 0xB0,
 	0x00,  0x00, 0x00,    0x00, 0x60,
 	0x03,  0x00, 0x00,    0x00, 0x60,
 

+ 2 - 2
pattern.c

@@ -25,12 +25,12 @@ static Pattern* allocatePattern(Pattern* pattern, unsigned int pattern_length) {
 Pattern* readPattern(Pattern* pattern, unsigned char* data) {
 	unsigned int i;
 	pattern->length = data[0];
-	pattern->cooldown = data[1];
+	pattern->cooldown = (data[1]<<8)+(data[2]);
 	allocatePattern(pattern, pattern->length);
 	if(pattern  == NULL) return NULL;
 
 	for(i = 0; i < data[0]; i++) {
-		unsigned int offset = i*5 + 2;
+		unsigned int offset = i*5 + 3;
 		pattern->side[i] = data[offset];
 		pattern->distance[i] = (data[offset + 1]<<8) + data[offset + 2];
 		pattern->wall_length[i] = (data[offset + 3]<<8) + data[offset + 4];