diff --git a/src/smoke.c b/src/smoke.c
index 577e402b58c794f8356eca0871e44d22b9d1ad0a..2be63ad59fe73929b9eaeaaf3d865203aa68c459 100644 (file)
--- a/src/smoke.c
+++ b/src/smoke.c
#include "glob.h"
#include <stdlib.h>
-#include "files.h"
-#include "memory.h"
#include "vga.h"
-#include "error.h"
-#include "sound.h"
#include "view.h"
#include "smoke.h"
#include "fx.h"
#include "misc.h"
+#include "my.h"
#define MAXSR 20
0xBC,0xBA,0xB8,0xB6,0xB4,0xB2,0xB0,0xD5,0xD6,0xD7,0xA1,0xA0,0xE3,0xE2,0xE1,0xE0
};
-void SMK_savegame(FILE* h) {
- int i,n;
-
- for(i=n=0;i<MAXSMOK;++i) if(sm[i].t) ++n;
- myfwrite(&n,1,4,h);
- for(i=0;i<MAXSMOK;++i) if(sm[i].t) myfwrite(&sm[i],1,sizeof(sm[0]),h);
+void SMK_savegame (FILE *h) {
+ int i, n;
+ for (i = n = 0; i < MAXSMOK; ++i) {
+ if (sm[i].t) {
+ ++n;
+ }
+ }
+ myfwrite32(n, h);
+ for (i = 0; i < MAXSMOK; ++i) {
+ if (sm[i].t) {
+ myfwrite32(sm[i].x, h);
+ myfwrite32(sm[i].y, h);
+ myfwrite32(sm[i].xv, h);
+ myfwrite32(sm[i].xv, h);
+ myfwrite8(sm[i].t, h);
+ myfwrite8(sm[i].s, h);
+ myfwrite16(sm[i].o, h);
+ }
+ }
}
-void SMK_loadgame(FILE* h) {
- int n;
-
- myfread(&n,1,4,h);
- myfread(sm,1,n*sizeof(sm[0]),h);
+void SMK_loadgame (FILE *h) {
+ int i, n;
+ n = myfread32(h);
+ for (i = 0; i < n; ++i) {
+ sm[i].x = myfread32(h);
+ sm[i].y = myfread32(h);
+ sm[i].xv = myfread32(h);
+ sm[i].xv = myfread32(h);
+ sm[i].t = myfread8(h);
+ sm[i].s = myfread8(h);
+ sm[i].o = myfread16(h);
+ }
}
void SMK_init(void) {