53 lines
1.1 KiB
C
53 lines
1.1 KiB
C
/****** t2d.c
|
|
This test program converts a text file containing ts tile set declarations into various Data structures.
|
|
******/
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include "../data.h"
|
|
|
|
int fileToMemory(char **buffer, char *file_name) {
|
|
int i, n, pos = 0;
|
|
char t_buf[16];
|
|
|
|
FILE *file = fopen(file_name, "r");
|
|
fseek(file, 0, SEEK_END);
|
|
int size = ftell(file);
|
|
fseek(file, 0, SEEK_SET);
|
|
|
|
char *new_buffer = malloc(size);
|
|
while ((n = fread(t_buf, 1, 16, file))) {
|
|
for (i = 0; i < n; i++) {
|
|
new_buffer[pos++] = t_buf[i];
|
|
}
|
|
}
|
|
fclose(file);
|
|
*buffer = new_buffer;
|
|
return size;
|
|
}
|
|
|
|
int main() {
|
|
char *buffer;
|
|
int size = fileToMemory(&buffer, "tiles.txt");
|
|
|
|
struct Data *data = loadDataFromMemory(buffer, size);
|
|
free(buffer);
|
|
|
|
printf("total tile sets: %d\n", data->set_count);
|
|
|
|
int count = 0;
|
|
while (count < data->size) {
|
|
int count_2 = 0;
|
|
if (data->set[count]) {
|
|
while (count_2 < data->set[count]->size) {
|
|
if (data->set[count]->tile[count_2]) {
|
|
printf("%d:%d\n", count, count_2);
|
|
}
|
|
count_2++;
|
|
}
|
|
}
|
|
count++;
|
|
}
|
|
|
|
return 0;
|
|
}
|