[Scummvm-cvs-logs] SF.net SVN: scummvm: [25080] scummvm/trunk/backends/platform/PalmOS

chrilith at users.sourceforge.net chrilith at users.sourceforge.net
Sun Jan 14 18:05:45 CET 2007


Revision: 25080
          http://scummvm.svn.sourceforge.net/scummvm/?rev=25080&view=rev
Author:   chrilith
Date:     2007-01-14 09:05:43 -0800 (Sun, 14 Jan 2007)

Log Message:
-----------
Added:
- engines location auto-detection
- Apple IIgs platform

Modified Paths:
--------------
    scummvm/trunk/backends/platform/PalmOS/Rsc/Resource.Frk/Starter.rsrc
    scummvm/trunk/backends/platform/PalmOS/Rsc/StarterRsc.h
    scummvm/trunk/backends/platform/PalmOS/Src/launcher/app.cpp
    scummvm/trunk/backends/platform/PalmOS/Src/launcher/forms/formCards.cpp
    scummvm/trunk/backends/platform/PalmOS/Src/launcher/games.cpp
    scummvm/trunk/backends/platform/PalmOS/Src/launcher/games.h
    scummvm/trunk/backends/platform/PalmOS/Src/launcher/launch.cpp
    scummvm/trunk/backends/platform/PalmOS/Src/launcher/start.h

Modified: scummvm/trunk/backends/platform/PalmOS/Rsc/Resource.Frk/Starter.rsrc
===================================================================
(Binary files differ)

Modified: scummvm/trunk/backends/platform/PalmOS/Rsc/StarterRsc.h
===================================================================
--- scummvm/trunk/backends/platform/PalmOS/Rsc/StarterRsc.h	2007-01-14 11:06:34 UTC (rev 25079)
+++ scummvm/trunk/backends/platform/PalmOS/Rsc/StarterRsc.h	2007-01-14 17:05:43 UTC (rev 25080)
@@ -3,7 +3,7 @@
 
 //	Header generated by Constructor for Palm OS (R) 1.9.1
 //
-//	Generated at 20:53:03  on lundi 5 juin 2006
+//	Generated at 17:51:34  on dimanche 14 janvier 2007
 //
 //	Generated for file: Starter.rsrc
 //
@@ -234,6 +234,7 @@
 
 //	Resource: tFRM 1600
 #define TabCardConfigForm                         1600	//(Left Origin = 0, Top Origin = 0, Width = 160, Height = 110, Usable = 1, Modal = 0, Save Behind = 0, Help ID = 0, Menu Bar ID = 0, Default Button ID = 0)
+#define TabCardConfigDetectCheckbox               1602	//(Left Origin = 4, Top Origin = 86, Width = 150, Height = 12, Usable = 1, Selected = 0, Group ID = 0, Font = Standard)
 #define TabCardConfigCacheCheckbox                1604	//(Left Origin = 4, Top Origin = 62, Width = 120, Height = 12, Usable = 1, Selected = 0, Group ID = 0, Font = Standard)
 #define TabCardConfigLedCheckbox                  1608	//(Left Origin = 4, Top Origin = 50, Width = 130, Height = 12, Usable = 1, Selected = 0, Group ID = 0, Font = Standard)
 #define TabCardConfigCacheSizeField               1606	//(Left Origin = 68, Top Origin = 74, Width = 18, Height = 12, Usable = 1, Editable = 1, Underline = 1, Single Line = 1, Dynamic Size = 0, Left Justified = 1, Max Characters = 3, Font = Standard, Auto Shift = 0, Has Scroll Bar = 0, Numeric = 1)

Modified: scummvm/trunk/backends/platform/PalmOS/Src/launcher/app.cpp
===================================================================
--- scummvm/trunk/backends/platform/PalmOS/Src/launcher/app.cpp	2007-01-14 11:06:34 UTC (rev 25079)
+++ scummvm/trunk/backends/platform/PalmOS/Src/launcher/app.cpp	2007-01-14 17:05:43 UTC (rev 25080)
@@ -269,6 +269,7 @@
 		gPrefs->card.cacheSize = 4096;
 		gPrefs->card.useCache = true;
 		gPrefs->card.showLED = true;
+		gPrefs->card.autoDetect = true;
 
 		gPrefs->autoOff = true;
 		gPrefs->vibrator = RumbleExists();

Modified: scummvm/trunk/backends/platform/PalmOS/Src/launcher/forms/formCards.cpp
===================================================================
--- scummvm/trunk/backends/platform/PalmOS/Src/launcher/forms/formCards.cpp	2007-01-14 11:06:34 UTC (rev 25079)
+++ scummvm/trunk/backends/platform/PalmOS/Src/launcher/forms/formCards.cpp	2007-01-14 17:05:43 UTC (rev 25080)
@@ -191,6 +191,7 @@
 		FldSetTextHandle(fld1P, cacheH);
 		CtlSetValue((ControlType *)GetObjectPtr(TabCardConfigCacheCheckbox), gPrefs->card.useCache);
 		CtlSetValue((ControlType *)GetObjectPtr(TabCardConfigLedCheckbox), gPrefs->card.showLED);
+		CtlSetValue((ControlType *)GetObjectPtr(TabCardConfigDetectCheckbox), gPrefs->card.autoDetect);
 	// update ? redraw the list
 	} else {
 		WinScreenLock(winLockCopy);
@@ -200,7 +201,7 @@
 }
 
 static UInt16 ConfigTabSave() {
-	ControlType *cckP[2];
+	ControlType *cckP[3];
 	FieldType *fld1P;
 	ListPtr listP;
 	FormPtr frmP;
@@ -208,9 +209,11 @@
 
 	cckP[0] = (ControlType *)GetObjectPtr(TabCardConfigCacheCheckbox);
 	cckP[1] = (ControlType *)GetObjectPtr(TabCardConfigLedCheckbox);
+	cckP[2] = (ControlType *)GetObjectPtr(TabCardConfigDetectCheckbox);
 
 	gPrefs->card.useCache = CtlGetValue(cckP[0]);
 	gPrefs->card.showLED = CtlGetValue(cckP[1]);
+	gPrefs->card.autoDetect = CtlGetValue(cckP[2]);
 
 	fld1P = (FieldType *)GetObjectPtr(TabCardConfigCacheSizeField);
 	frmP = FrmGetActiveForm();

Modified: scummvm/trunk/backends/platform/PalmOS/Src/launcher/games.cpp
===================================================================
--- scummvm/trunk/backends/platform/PalmOS/Src/launcher/games.cpp	2007-01-14 11:06:34 UTC (rev 25079)
+++ scummvm/trunk/backends/platform/PalmOS/Src/launcher/games.cpp	2007-01-14 17:05:43 UTC (rev 25080)
@@ -69,7 +69,8 @@
 
 				MemSet(&gitCur, sizeof(GameInfoType), 0);
 
-				if (version == itemVersion_355 ||
+				if (version == itemVersion_356 ||
+					version == itemVersion_355 ||
 					version == itemVersion_354 ||
 					version == itemVersion_353 ||
 					version == itemVersion_352 ||
@@ -198,6 +199,11 @@
 									gitCur.engine = ENGINE_AGOS;
 						}
 
+						if (version <= itemVersion_356) {
+							if (gitCur.platform >= 3)
+								gitCur.platform++;
+						}
+
 						if (gitCur.musicInfo.volume.palm > 100)
 							gitCur.musicInfo.volume.palm = 50;
 

Modified: scummvm/trunk/backends/platform/PalmOS/Src/launcher/games.h
===================================================================
--- scummvm/trunk/backends/platform/PalmOS/Src/launcher/games.h	2007-01-14 11:06:34 UTC (rev 25079)
+++ scummvm/trunk/backends/platform/PalmOS/Src/launcher/games.h	2007-01-14 17:05:43 UTC (rev 25080)
@@ -25,9 +25,10 @@
 #ifndef __GAMES_H__
 #define	__GAMES_H__
 
-#define curItemVersion sysMakeROMVersion(3,5,6,0,0)	// Changed : Simon -> AGOS
+#define curItemVersion sysMakeROMVersion(3,5,7,0,0)	// Added : Apple IIgs
 
 
+#define itemVersion_356 sysMakeROMVersion(3,5,6,0,0)	// Changed : Simon -> AGOS
 #define itemVersion_355 sysMakeROMVersion(3,5,5,0,0)	// Added : AGI engine
 #define itemVersion_354 sysMakeROMVersion(3,5,4,0,0)	// Added : Default/Auto music driver
 #define itemVersion_353 sysMakeROMVersion(3,5,3,0,0)	// Added : CinE engine and 3DO platform

Modified: scummvm/trunk/backends/platform/PalmOS/Src/launcher/launch.cpp
===================================================================
--- scummvm/trunk/backends/platform/PalmOS/Src/launcher/launch.cpp	2007-01-14 11:06:34 UTC (rev 25079)
+++ scummvm/trunk/backends/platform/PalmOS/Src/launcher/launch.cpp	2007-01-14 17:05:43 UTC (rev 25080)
@@ -23,6 +23,7 @@
  */
 
 #include <PalmOS.h>
+#include <PmPalmOSNVFS.h>
 #include "StarterRsc.h"
 
 #include "games.h"
@@ -52,15 +53,20 @@
 	StrCat(filename, h);	\
 	StrCat(filename, m);
 
+#define FIND_FILE() \
+	if (*volRefNum == vfsInvalidVolRef) \
+		*volRefNum = ModFind(filename);
+
+
 #define CHECK_FILE(m) \
-	e = VFSFileOpen(volRefNum, filename, vfsModeRead, &file);	\
+	e = VFSFileOpen(*volRefNum, filename, vfsModeRead, &file);	\
 	if (e)	\
 		BUILD_ERROR(m)	\
 	else	\
 		VFSFileClose(file);
 
 #define IMPRT_FILE(m) \
-	e = VFSImportDatabaseFromFile(volRefNum, filename, &cardNo, &dbID);	\
+	e = VFSImportDatabaseFromFile(*volRefNum, filename, &cardNo, &dbID);	\
 	if (e)	\
 		BUILD_ERROR(m)
 
@@ -77,6 +83,22 @@
 	DELET_FILE("ScummVM-Engine");
 }
 
+UInt16 ModFind(const Char *f) {
+	Err e;
+	UInt16 volRefNum;
+	FileRef r;
+	UInt32 volIterator = vfsIteratorStart|vfsIncludePrivateVolumes;
+	while (volIterator != vfsIteratorStop) {
+		e = VFSVolumeEnumerate(&volRefNum, &volIterator);
+
+		if (!e)	e = VFSFileOpen(volRefNum, f, vfsModeRead, &r);
+		if (!e) e = VFSFileClose(r);
+		if (!e) break;
+	}
+	
+	return volRefNum;
+}
+
 static void ModSetStack(UInt32 newSize, UInt16 cardNo, LocalID dbID) {
 	DmOpenRef dbRef = DmOpenDatabase(cardNo, dbID, dmModeReadWrite);
 
@@ -103,7 +125,7 @@
 	}
 }
 
-static Err ModImport(UInt16 volRefNum, UInt8 engine, Boolean *armP) {
+static Err ModImport(UInt16 *volRefNum, UInt8 engine, Boolean *armP) {
 #ifndef _DEBUG_ENGINE
 	char filename[256];
 	UInt16 cardNo;
@@ -124,6 +146,7 @@
 #ifndef _DEBUG_ENGINE
 	// engine file ?
 	BUILD_FILE(engines[engine].fileP, ".engine");
+	FIND_FILE ();
 	CHECK_FILE("ScummVM engine file was not found !");
 	IMPRT_FILE("Cannot import engine file !");
 
@@ -132,6 +155,7 @@
 	e = SysAppLaunch(cardNo, dbID, 0, sysAppLaunchCustomEngineGetInfo, 0, &result);
 	*armP = ((result & GET_MODEARM) == GET_MODEARM);
 
+/*	ARM ONLY FOR NOW, NOT REQUIRED
 	// common file ?
 	if (!e && (result & GET_DATACOMMON)) {
 		BUILD_FILE("common", ".data");
@@ -144,6 +168,7 @@
 		CHECK_FILE("Engine data file was not found !");
 		IMPRT_FILE("Cannot import engine data file !");
 	}
+*/
 #endif
 	// if error, cleanup
 	if (e) ModDelete();
@@ -303,6 +328,7 @@
 				"3do",
 				"acorn",
 				"amiga",
+				"2gs",
 				"atari",
 				"c64",
 				"pc",
@@ -429,7 +455,7 @@
 
 	// gVars values 
 	// (gVars->HRrefNum defined in checkHRmode on Cli\xE9)
-	gVars->VFS.volRefNum	= gPrefs->card.volRefNum;
+	gVars->VFS.volRefNum	= (gPrefs->card.autoDetect ? vfsInvalidVolRef : gPrefs->card.volRefNum);
 	gVars->vibrator			= gPrefs->vibrator;
 	gVars->stdPalette		= gPrefs->stdPalette;
 	gVars->VFS.cacheSize	= (gPrefs->card.useCache ? gPrefs->card.cacheSize : 0);
@@ -460,7 +486,7 @@
 		HWR_SET(INIT_PA1LIB);
 	}
 */
-	if (ModImport(gVars->VFS.volRefNum, engine, &isARM) != errNone) {
+	if (ModImport(&gVars->VFS.volRefNum, engine, &isARM) != errNone) {
 		if (bDirectMode) {
 			// and force exit if nothing selected
 			EventType event;

Modified: scummvm/trunk/backends/platform/PalmOS/Src/launcher/start.h
===================================================================
--- scummvm/trunk/backends/platform/PalmOS/Src/launcher/start.h	2007-01-14 11:06:34 UTC (rev 25079)
+++ scummvm/trunk/backends/platform/PalmOS/Src/launcher/start.h	2007-01-14 17:05:43 UTC (rev 25080)
@@ -53,6 +53,7 @@
 		UInt32 cacheSize;
 		Boolean useCache;
 		Boolean showLED;
+		Boolean autoDetect;
 		Boolean moveDB;
 		Boolean deleteDB;
 		Boolean confirmMoveDB;


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list