DEADSOFTWARE

ppc: fix saves and more map loading improvements
[flatwaifu.git] / src / fx.c
index 8a38050cf9bfc7789bae981efaa0e6791fe09298..9947854ac121d6b86c3a0b0c1f67692b96acec2a 100644 (file)
--- a/src/fx.c
+++ b/src/fx.c
@@ -104,19 +104,37 @@ static void init_fx1sin(void) {
   }
 }
 
-void FX_savegame(FILE* h) {
-  int i,n;
-
-  for(i=n=0;i<MAXFX;++i) if(fx[i].t) ++n;
-  myfwrite(&n,1,4,h);
-  for(i=0;i<MAXFX;++i) if(fx[i].t) myfwrite(&fx[i],1,sizeof(fx_t),h);
+void FX_savegame (FILE *h) {
+  int i, n;
+  for (i = n = 0; i < MAXFX; ++i) {
+    if (fx[i].t) {
+      ++n;
+    }
+  }
+  myfwrite32(n, h);
+  for (i = 0; i < MAXFX; ++i) {
+    if (fx[i].t) {
+      myfwrite32(fx[i].x, h);
+      myfwrite32(fx[i].y, h);
+      myfwrite32(fx[i].xv, h);
+      myfwrite32(fx[i].yv, h);
+      myfwrite8(fx[i].t, h);
+      myfwrite8(fx[i].s, h);
+    }
+  }
 }
 
-void FX_loadgame(FILE* h) {
-  int n;
-
-  myfread(&n,1,4,h);
-  myfread(fx,1,n*sizeof(fx_t),h);
+void FX_loadgame (FILE *h) {
+  int i, n;
+  myfread32(&n, h);
+  for (i = 0; i < n; i++) {
+    myfread32(&fx[i].x, h);
+    myfread32(&fx[i].y, h);
+    myfread32(&fx[i].xv, h);
+    myfread32(&fx[i].yv, h);
+    myfread8(&fx[i].t, h);
+    myfread8(&fx[i].s, h);
+  }
 }
 
 void FX_alloc(void) {