]> git.pond.sub.org Git - empserver/blobdiff - src/lib/common/ef_verify.c
Write planes fixed on game start to disk properly
[empserver] / src / lib / common / ef_verify.c
index fb677145fb54d9d98009695612a23d5b90b01124..62c5cab27d95e4f095cac11e5882ce7d7eef3505 100644 (file)
@@ -169,19 +169,24 @@ pln_zap_transient_flags(void)
 {
     int i;
     struct plnstr *pp;
+    int dirty = 0;
 
     /* laziness: assumes plane file is EFF_MEM */
     for (i = 0; (pp = getplanep(i)) != NULL; i++) {
        if (pp->pln_flags & PLN_LAUNCHED
            && (plchr[pp->pln_type].pl_flags & (P_M | P_O)) != P_O) {
            pp->pln_flags &= ~PLN_LAUNCHED;
-           verify_fail(EF_PLANE, i, NULL, 0, "stuck in the air (patched)");
+           /* FIXME missile should be destroyed instead */
+           dirty = 1;
+           verify_fail(EF_PLANE, i, NULL, 0, "stuck in the air (fixed)");
            /*
             * Can't putplane() here, because pln_prewrite() crashes
             * without a valid player.
             */
        }
     }
+    if (dirty)
+       ef_flush(EF_PLANE);     /* pretty wasteful */
 }
 
 int