#include <stdio.h>
typedef struct {
- uint8_t x;
- uint16_t y;
+ uint16_t x;
+ uint8_t y;
uint8_t type;
} level_thing;
level_thing result;
result.y = blob[0] >> 4;
- result.x = ((blob[0] & 0xf) << 8) | blob[1];
+ result.x = ((blob[0] & 0x0f) << 8) | blob[1];
result.type = blob[2];
return result;
dest->start_pos.y = FIXED_INT( spos[1] * JUMPNRUN_TILE_PIXEL_HEIGHT);
}
+#ifdef __linux__
+ if(1 != fread(&dest->start_lives, 1, 1, fd)) {
+#else
+ if(FR_OK != f_read(fd, &dest->start_lives, sizeof(dest->start_lives), &count) || count != sizeof(dest->start_lives)) {
+#endif
+ return JUMPNRUN_LEVEL_LOAD_ERROR;
+ }
+
for(i = 0; i < dest->header.tile_count; ++i) {
#ifdef __linux__
if(1 != fread(buf, 3, 1, fd)) {