DEADSOFTWARE

ppc: fix saves and more map loading improvements
[flatwaifu.git] / src / dots.c
index d89b9d6122fd359742141cf17d219cbeaa99e2df..4f52130d53b46eec45097304ad53a25c6b963373 100644 (file)
@@ -58,19 +58,45 @@ static init_t bl_ini[MAXINI],sp_ini[MAXINI];
 static int bl_r,sp_r,sr_r,sxr[MAXSR],syr[MAXSR];
 static int ldot;
 
-void DOT_savegame(FILE* h) {
-  int i,n;
-
-  for(i=n=0;i<MAXDOT;++i) if(dot[i].t) ++n;
-  myfwrite(&n,1,4,h);
-  for(i=0;i<MAXDOT;++i) if(dot[i].t) myfwrite(&dot[i],1,sizeof(dot_t),h);
+void DOT_savegame (FILE *h) {
+  int i, n;
+  for (i = n = 0; i < MAXDOT; ++i) {
+    if (dot[i].t) {
+      ++n;
+    }
+  }
+  myfwrite32(n, h);
+  for (i = 0; i < MAXDOT; ++i) {
+    if (dot[i].t) {
+      myfwrite32(dot[i].o.x, h);
+      myfwrite32(dot[i].o.y, h);
+      myfwrite32(dot[i].o.xv, h);
+      myfwrite32(dot[i].o.yv, h);
+      myfwrite32(dot[i].o.vx, h);
+      myfwrite32(dot[i].o.vy, h);
+      myfwrite32(dot[i].o.r, h);
+      myfwrite32(dot[i].o.h, h);
+      myfwrite8(dot[i].c, h);
+      myfwrite8(dot[i].t, h);
+    }
+  }
 }
 
-void DOT_loadgame(FILE* h) {
-  int n;
-  
-  myfread(&n,1,4,h);
-  myfread(dot,1,n*sizeof(dot_t),h);
+void DOT_loadgame (FILE *h) {
+  int i, n;
+  myfread32(&n, h);
+  for (i = 0; i < n; i++) {
+    myfread32(&dot[i].o.x, h);
+    myfread32(&dot[i].o.y, h);
+    myfread32(&dot[i].o.xv, h);
+    myfread32(&dot[i].o.yv, h);
+    myfread32(&dot[i].o.vx, h);
+    myfread32(&dot[i].o.vy, h);
+    myfread32(&dot[i].o.r, h);
+    myfread32(&dot[i].o.h, h);
+    myfread8(&dot[i].c, h);
+    myfread8(&dot[i].t, h);
+  }
 }
 
 void DOT_init(void) {