Browse Source

Add AVI configuration item

Lou Yihua 7 years ago
parent
commit
dc38cd74a3
6 changed files with 19 additions and 15 deletions
  1. 3 0
      aviplay.c
  2. 5 0
      global.c
  3. 3 14
      main.c
  4. 5 0
      palcfg.c
  5. 2 0
      palcfg.h
  6. 1 1
      uigame.c

+ 3 - 0
aviplay.c

@@ -58,6 +58,7 @@
 #include "input.h"
 #include "video.h"
 #include "riff.h"
+#include "palcfg.h"
 
 #if SDL_BYTEORDER == SDL_BIG_ENDIAN
 
@@ -636,6 +637,8 @@ PAL_PlayAVI(
     LPCSTR     lpszPath
 )
 {
+	if (!gConfig.fEnableAviPlay) return FALSE;
+
 	//
 	// Open the file
 	//

+ 5 - 0
global.c

@@ -187,6 +187,11 @@ PAL_InitGlobals(
    //
    if (!PAL_IsWINVersion(&gConfig.fIsWIN95)) return -1;
 
+   //
+   // Enable AVI playing only when the resource is WIN95
+   //
+   gConfig.fEnableAviPlay = gConfig.fEnableAviPlay && gConfig.fIsWIN95;
+
    //
    // Detect game language only when no message file specified
    //

+ 3 - 14
main.c

@@ -171,13 +171,8 @@ PAL_TrademarkScreen(
 
 --*/
 {
-   if (gConfig.fIsWIN95)
-   {
-      if (PAL_PlayAVI("1.avi"))
-      {
-         return;
-      }
-   }
+   if (PAL_PlayAVI("1.avi")) return;
+
    PAL_SetPalette(3, FALSE);
    PAL_RNGPlay(6, 0, 1000, 25);
    UTIL_Delay(1000);
@@ -214,13 +209,7 @@ PAL_SplashScreen(
    DWORD          dwTime, dwBeginTime;
    BOOL           fUseCD = TRUE;
 
-   if (gConfig.fIsWIN95)
-   {
-      if (PAL_PlayAVI("2.avi"))
-      {
-         return;
-      }
-   }
+   if (PAL_PlayAVI("2.avi")) return;
 
    if (palette == NULL)
    {

+ 5 - 0
palcfg.c

@@ -42,6 +42,7 @@ static const ConfigItem gConfigItems[PALCFG_ALL_MAX] = {
 	{ PALCFG_STEREO,            PALCFG_BOOLEAN,  "Stereo",             6, MAKE_VALUE(TRUE,                          FALSE,                 TRUE) },                  // Default for stereo audio
 	{ PALCFG_USESURROUNDOPL,    PALCFG_BOOLEAN,  "UseSurroundOPL",    14, MAKE_VALUE(TRUE,                          FALSE,                 TRUE) },                  // Default for using surround opl
 	{ PALCFG_USETOUCHOVERLAY,   PALCFG_BOOLEAN,  "UseTouchOverlay",   15, MAKE_VALUE(PAL_HAS_TOUCH,                 FALSE,                 TRUE) },
+	{ PALCFG_ENABLEAVIPLAY,     PALCFG_BOOLEAN,  "EnableAviPlay",     13, MAKE_VALUE(TRUE,                          FALSE,                 TRUE) },
 
 	{ PALCFG_SURROUNDOPLOFFSET, PALCFG_INTEGER,  "SurroundOPLOffset", 17, MAKE_VALUE(384,                           INT32_MIN,             INT32_MAX) },
 	{ PALCFG_LOGLEVEL,          PALCFG_INTEGER,  "LogLevel",           8, MAKE_VALUE(PAL_DEFAULT_LOGLEVEL,          LOGLEVEL_MIN,          LOGLEVEL_MAX) },
@@ -439,6 +440,7 @@ PAL_LoadConfig(
 	gConfig.fUseTouchOverlay = values[PALCFG_USETOUCHOVERLAY].bValue;
 	gConfig.fKeepAspectRatio = values[PALCFG_KEEPASPECTRATIO].bValue;
 	gConfig.fFullScreen = values[PALCFG_FULLSCREEN].bValue;
+	gConfig.fEnableAviPlay = values[PALCFG_ENABLEAVIPLAY].bValue;
 	gConfig.iAudioChannels = values[PALCFG_STEREO].bValue ? 2 : 1;
 
 	gConfig.iSurroundOPLOffset = values[PALCFG_SURROUNDOPLOFFSET].iValue;
@@ -480,6 +482,7 @@ PAL_SaveConfig(
 		sprintf(buf, "%s=%d\n", PAL_ConfigName(PALCFG_STEREO), gConfig.iAudioChannels == 2 ? TRUE : FALSE); fputs(buf, fp);
 		sprintf(buf, "%s=%d\n", PAL_ConfigName(PALCFG_USESURROUNDOPL), gConfig.fUseSurroundOPL); fputs(buf, fp);
 		sprintf(buf, "%s=%d\n", PAL_ConfigName(PALCFG_USETOUCHOVERLAY), gConfig.fUseTouchOverlay); fputs(buf, fp);
+		sprintf(buf, "%s=%d\n", PAL_ConfigName(PALCFG_ENABLEAVIPLAY), gConfig.fEnableAviPlay); fputs(buf, fp);
 
 		sprintf(buf, "%s=%d\n", PAL_ConfigName(PALCFG_SURROUNDOPLOFFSET), gConfig.iSurroundOPLOffset); fputs(buf, fp);
 		sprintf(buf, "%s=%d\n", PAL_ConfigName(PALCFG_LOGLEVEL), gConfig.iLogLevel); fputs(buf, fp);
@@ -530,6 +533,7 @@ PAL_GetConfigItem(
 		case PALCFG_STEREO:            value.bValue = (gConfig.iAudioChannels == 2); break;
 		case PALCFG_USESURROUNDOPL:    value.bValue = gConfig.fUseSurroundOPL; break;
 		case PALCFG_USETOUCHOVERLAY:   value.bValue = gConfig.fUseTouchOverlay; break;
+		case PALCFG_ENABLEAVIPLAY:     value.bValue = gConfig.fEnableAviPlay; break;
 		case PALCFG_SURROUNDOPLOFFSET: value.iValue = gConfig.iSurroundOPLOffset; break;
 		case PALCFG_LOGLEVEL:          value.iValue = gConfig.iLogLevel; break;
 		case PALCFG_AUDIOBUFFERSIZE:   value.uValue = gConfig.wAudioBufferSize; break;
@@ -570,6 +574,7 @@ PAL_SetConfigItem(
 	case PALCFG_STEREO:            gConfig.iAudioChannels = value.bValue ? 2 : 1; break;
 	case PALCFG_USESURROUNDOPL:    gConfig.fUseSurroundOPL = value.bValue; break;
 	case PALCFG_USETOUCHOVERLAY:   gConfig.fUseTouchOverlay = value.bValue; break;
+	case PALCFG_ENABLEAVIPLAY:     gConfig.fEnableAviPlay = value.bValue; break;
 	case PALCFG_SURROUNDOPLOFFSET: gConfig.iSurroundOPLOffset = value.iValue; break;
 	case PALCFG_LOGLEVEL:          gConfig.iLogLevel = value.iValue; break;
 	case PALCFG_AUDIOBUFFERSIZE:   gConfig.wAudioBufferSize = value.uValue; break;

+ 2 - 0
palcfg.h

@@ -44,6 +44,7 @@ typedef enum tagPALCFG_ITEM
 	PALCFG_STEREO,
 	PALCFG_USESURROUNDOPL,
 	PALCFG_USETOUCHOVERLAY,
+	PALCFG_ENABLEAVIPLAY,
 	/* Booleans */
 	PALCFG_BOOLEAN_MAX,
 
@@ -190,6 +191,7 @@ typedef struct tagCONFIGURATION
 	BOOL             fUseCustomScreenLayout;
 	BOOL             fLaunchSetting;
 	BOOL             fUseTouchOverlay;
+	BOOL             fEnableAviPlay;
 #if USE_RIX_EXTRA_INIT
 	uint32_t        *pExtraFMRegs;
 	uint8_t         *pExtraFMVals;

+ 1 - 1
uigame.c

@@ -156,7 +156,7 @@ PAL_OpeningMenu(
    AUDIO_PlayMusic(0, FALSE, 1);
    PAL_FadeOut(1);
 
-   if (gConfig.fIsWIN95 && wItemSelected == 0)
+   if (wItemSelected == 0)
    {
       PAL_PlayAVI("3.avi");
    }