[Scummvm-cvs-logs] CVS: scummvm/backends/wince wince.cpp,1.2,1.3

Nicolas Bacca arisme at users.sourceforge.net
Fri Apr 4 05:19:29 CEST 2003


Update of /cvsroot/scummvm/scummvm/backends/wince
In directory sc8-pr-cvs1:/tmp/cvs-serv17437

Modified Files:
	wince.cpp 
Log Message:
Low quality FM synthesis, preliminary OGG stuff - do not try to compile that I'll break everything in a few hours :)

Index: wince.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/backends/wince/wince.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- wince.cpp	27 Jan 2003 00:46:40 -0000	1.2
+++ wince.cpp	4 Apr 2003 13:18:41 -0000	1.3
@@ -445,6 +445,7 @@
 bool monkey_keyboard;
 
 bool new_audio_rate;
+bool FM_high_quality;
 
 bool closing = false;
 
@@ -556,8 +557,9 @@
 	if (aygshell_handle) {
 		IMPORT(aygshell_handle, dynamicSHFullScreen, tSHFullScreen, "SHFullScreen", defaultSHFullScreen)
 		IMPORT(aygshell_handle, dynamicSHSipPreference, tSHSipPreference, "SHSipPreference", NULL)
-		if (smartphone)
+		if (smartphone) {
 			IMPORT(aygshell_handle, dynamicSHCreateMenuBar, tSHCreateMenuBar, "SHCreateMenuBar", NULL)
+		}
 		// This function doesn't seem to be implemented on my 3630 !
 		//IMPORT(aygshell_handle, dynamicSHHandleWMSettingChange, tSHHandleWMSettingChange, "SHHandleWMSettingChange")
 
@@ -662,6 +664,9 @@
 	else
 		sound_activated = true;
 
+	FM_high_quality = g_config->getBool("FMHighQuality", false, "wince");
+	g_config->setBool("FMHighQuality", FM_high_quality, "wince");
+
 	_thread_priority = g_config->getInt("SoundThreadPriority", -1, "wince");
 	if (_thread_priority < 0) {
 #ifdef SH3
@@ -736,6 +741,28 @@
 	return 0;
 }
 
+/*
+bool checkOggSampleRate(char *directory) {
+	char trackFile[255];
+	FILE *testFile;
+	OggVorbis_File *test_ov_file = new OggVorbis_File;
+
+	sprintf(trackFile,"%s/Track1.ogg", directory);
+	// Check if we have an OGG audio track
+	testFile = fopen(trackFile, "rb");
+	if (file->isOpen()) {
+		if (!ov_open(testFile, test_ov_file, NULL, 0)) {
+			bool highSampleRate = (ov_info(&test_ov_file, -1)->rate == 22050);
+			ov_clear(test_ov_file);
+			return highSampleRate;
+		}
+	}
+	// Or if we have an OGG compressed speech file
+
+	return false;
+}
+*/
+
 void runGame(char *game_name) {
 	int argc = 4;
 	char* argv[4];
@@ -778,6 +805,11 @@
 	//new_audio_rate = (strcmp(game_name, "dig") == 0 || strcmp(game_name, "monkey") == 0);
 	new_audio_rate = (strcmp(game_name, "dig") == 0 || strcmp(game_name, "ft") == 0);
 
+	// Modify the sample rate on the fly if OGG is involved 
+
+	//if (!new_audio_rate)
+	//	new_audio_rate = checkOggSampleRate(_directory);
+
 	detector.parseCommandLine(argc, argv);
 
 	if (detector.detectMain())
@@ -949,8 +981,10 @@
 	case WM_TIMER:
 		timer_callback(timer_interval);
 		break;
+
 	default:
 		return DefWindowProc(hWnd, message, wParam, lParam);
+		break;
    }
    return 0;
 }
@@ -1103,11 +1137,8 @@
 	toolbar_drawn = false;
 	hide_toolbar = true;
 	Cls();
-	g_scumm->_saveLoadSlot = 0;
-	g_scumm->_saveLoadCompatible = false;
-	g_scumm->_saveLoadFlag = 1;
-	strcpy(g_scumm->_saveLoadName, "BOSS");
-	g_scumm->saveState(g_scumm->_saveLoadSlot, g_scumm->_saveLoadCompatible);
+	g_scumm->requestSave(0, "BOSS");
+	g_scumm->scummLoop(0);
 	dynamicGXCloseInput();
 	dynamicGXCloseDisplay();
 	SDL_AudioQuit();
@@ -1132,8 +1163,11 @@
 
 	if (g_scumm->vm.cutScenePtr[g_scumm->vm.cutSceneStackPointer] || g_scumm->_insaneState)
 		system->addEventKeyPressed(g_scumm->_vars[g_scumm->VAR_CUTSCENEEXIT_KEY]);
-	else
+	else 
+	if (g_scumm->_talkDelay > 0)
 		system->addEventKeyPressed(g_scumm->_vars[g_scumm->VAR_TALKSTOP_KEY]);						
+	else
+		system->addEventKeyPressed(mapKey(VK_ESCAPE));
 }
 
 void do_hide(bool hide_state) {
@@ -1628,6 +1662,12 @@
 
 	case PROP_GET_SAMPLE_RATE:
 		return (new_audio_rate ? SAMPLES_PER_SEC_NEW : SAMPLES_PER_SEC_OLD);
+
+	case PROP_GET_FMOPL_ENV_BITS:
+		return (FM_high_quality ? FMOPL_ENV_BITS_HQ : FMOPL_ENV_BITS_LQ);
+
+	case PROP_GET_FMOPL_EG_ENT:
+		return (FM_high_quality ? FMOPL_EG_ENT_HQ : FMOPL_EG_ENT_LQ);
 	}
 
 	return 0;





More information about the Scummvm-git-logs mailing list