Mercurial > hg > dmlib
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; }