diff src/dmsimple.c @ 1054:d98fcb10df6a

Work on dmzlib.
author Matti Hamalainen <ccr@tnsp.org>
date Sun, 01 Mar 2015 22:37:39 +0200
parents 771e03bf9fcd
children 2858b56bdbe5
line wrap: on
line diff
--- a/src/dmsimple.c	Sun Mar 01 22:27:08 2015 +0200
+++ b/src/dmsimple.c	Sun Mar 01 22:37:39 2015 +0200
@@ -592,7 +592,7 @@
 
     // Pre-initialization
     if ((err = demoPreInit(&engine)) != DMERR_OK)
-        goto error_exit;
+        goto out;
 
     if (!dmArgsProcess(argc, argv, optList, optListN,
         argHandleOpt, NULL, OPTH_BAILOUT))
@@ -615,7 +615,13 @@
     "See README.txt for more information.\n");
 
     // Initialize dmZlib
-    dmZLibInit();
+    if ((err = dmZLibInit()) != DMERR_OK)
+    {
+        dmErrorDBGMsg(
+            "Failed to initialize dmzlib: %d, %s.\n",
+            err, dmErrorStr(err));
+        goto out;
+    }
 
     // Initialize resource subsystem
     dmPrint(1, "Initializing resources subsystem.\n");
@@ -625,7 +631,7 @@
         dmErrorDBGMsg(
             "Could not initialize resource manager, #%d: %s.\n",
             err, dmErrorStr(err));
-        goto error_exit;
+        goto out;
     }
 
     // Initialize SDL components
@@ -635,7 +641,7 @@
         dmError(DMERR_INIT_FAIL,
             "Could not initialize SDL: %s\n",
             SDL_GetError());
-        goto error_exit;
+        goto out;
     }
     initSDL = TRUE;
 
@@ -650,7 +656,7 @@
     if (engine.optVidSetup)
     {
         if ((err = engineVideoSetup()) <= 0)
-            goto error_exit;
+            goto out;
     }
 
     // Initialize audio parts
@@ -685,14 +691,14 @@
             {
                 dmErrorDBGMsg(
                     "jvmInit() returned NULL, voi perkele.\n");
-                goto error_exit;
+                goto out;
             }
 
             if ((engine.jssPlr = jmpInit(engine.jssDev)) == NULL)
             {
                 dmErrorDBGMsg(
                     "jmpInit() returned NULL\n");
-                goto error_exit;
+                goto out;
             }
 #else
             dmErrorDBGMsg("miniJSS support not included.\n");
@@ -716,7 +722,7 @@
         dmErrorDBGMsg(
             "engineInitAudioParts() failed: #%d: %s\n",
             err, dmErrorStr(err));
-        goto error_exit;
+        goto out;
     }
 
     // Initialize SDL video
@@ -726,11 +732,11 @@
         dmErrorDBGMsg(
             "demoInitPreVideo() failed, #%d: %s\n",
             err, dmErrorStr(err));
-        goto error_exit;
+        goto out;
     }
 
     if (!engineInitializeVideo())
-        goto error_exit;
+        goto out;
 
     if (engine.demoInitPostVideo != NULL &&
        (err = engine.demoInitPostVideo(&engine)) != DMERR_OK)
@@ -738,7 +744,7 @@
         dmErrorDBGMsg(
             "demoInitPostVideo() failed, #%d: %s\n",
             err, dmErrorStr(err));
-        goto error_exit;
+        goto out;
     }
 
     // Hide cursor
@@ -751,7 +757,7 @@
         dmErrorDBGMsg(
             "Error loading resources, #%d: %s.\n",
             err, dmErrorStr(err));
-        goto error_exit;
+        goto out;
     }
 
     // Final initializations
@@ -760,7 +766,7 @@
         dmErrorDBGMsg(
             "Failure in demoInit(), #%d: %s\n",
             err, dmErrorStr(err));
-        goto error_exit;
+        goto out;
     }
 
     // Initialize effects
@@ -769,7 +775,7 @@
         dmErrorDBGMsg(
             "Effects initialization failed, #%d: %s\n",
             err, dmErrorStr(err));
-        goto error_exit;
+        goto out;
     }
 
     // Use a timeline, if set
@@ -781,7 +787,7 @@
             dmErrorDBGMsg(
                 "Error loading timeline, #%d: %s\n",
                 err, dmErrorStr(err));
-            goto error_exit;
+            goto out;
         }
 
         if ((err = dmPrepareTimeline(engine.tl, engine.ptl)) != DMERR_OK)
@@ -789,7 +795,7 @@
             dmErrorDBGMsg(
                 "Error creating prepared timeline, #%d: %s\n",
                 err, dmErrorStr(err));
-            goto error_exit;
+            goto out;
         }
     }
 #endif
@@ -821,7 +827,7 @@
                     case SDLK_f:
                         engine.optVFlags ^= SDL_FULLSCREEN;
                         if (!engineInitializeVideo())
-                            goto error_exit;
+                            goto out;
                         break;
 
                     case SDLK_RETURN:
@@ -829,7 +835,7 @@
                         {
                             engine.optVFlags ^= SDL_FULLSCREEN;
                             if (!engineInitializeVideo())
-                                goto error_exit;
+                                goto out;
                         }
                         break;
 
@@ -863,20 +869,20 @@
         if (SDL_MUSTLOCK(engine.screen) && SDL_LockSurface(engine.screen) != 0)
         {
             dmError(DMERR_INTERNAL, "Can't lock surface.\n");
-            goto error_exit;
+            goto out;
         }
 
         // Call main tick
         if (engine.demoRender != NULL)
         {
             if ((err = engine.demoRender(&engine)) != DMERR_OK)
-                goto error_exit;
+                goto out;
         }
 #ifdef DM_USE_TIMELINE
         else
         {
             if ((err = dmExecuteTimeline(engine.ptl, engine.screen, engineGetTick(&engine))) != DMERR_OK)
-                goto error_exit;
+                goto out;
         }
 #endif
 
@@ -899,7 +905,7 @@
     dmPrint(1, "startTime=%d, startTimeAudio=%d, offsetTime=%d\n",
         engine.startTime, engine.startTimeAudio, engine.offsetTime);
 
-error_exit:
+out:
 
     dmPrint(1, "Shutting down.\n");
     SDL_ShowCursor(SDL_ENABLE);
@@ -944,6 +950,8 @@
 
     if (engine.demoQuit != NULL)
         engine.demoQuit(&engine);
-    
+
+    dmZLibClose();
+
     return 0;
 }