[Scummvm-cvs-logs] CVS: scummvm/backends/PalmOS/Src globals.h,1.14,1.15 init_arm.cpp,1.2,1.3

Chris Apers chrilith at users.sourceforge.net
Mon Dec 20 09:38:02 CET 2004


Update of /cvsroot/scummvm/scummvm/backends/PalmOS/Src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6293

Modified Files:
	globals.h init_arm.cpp 
Log Message:
- Better ARM support

Index: globals.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/backends/PalmOS/Src/globals.h,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -d -r1.14 -r1.15
--- globals.h	9 Nov 2004 11:50:04 -0000	1.14
+++ globals.h	20 Dec 2004 17:36:53 -0000	1.15
@@ -25,7 +25,7 @@
 
 #include <VFSMgr.h>
 #include "scumm_globals.h"
-#include "arm/native.h"
+#include "arm/pnodefs.h"
 
 enum {
 	kOptNone				=	0,
@@ -63,6 +63,12 @@
 };
 
 typedef struct {
+	char headerBuffer[sizeof(PnoEntryHeader) + 2];
+	PnoEntryHeader *alignedHeader;
+	PnoDescriptor pnoDesc;
+} PNOInitType;
+
+typedef struct {
 	DmOpenRef globals[GBVARS_COUNT];
 	UInt32 memory[kMemGamesCount];
 
@@ -73,8 +79,6 @@
 	UInt16 volRefNum;
 	UInt16 slkRefNum;
 	UInt32 slkVersion;
-	Boolean skinSet;
-	Boolean pinUpdate;
 
 	FileRef	logFile;
 
@@ -86,10 +90,7 @@
 	Coord screenFullWidth, screenFullHeight;	// silkarea hidden
 	UInt32 screenPitch;
 
-	struct {
-		PnoDescriptor pnoDesc;
-		MemPtr pnoPtr;
-	} arm[PNO_COUNT];
+	PNOInitType arm[ARM_COUNT];
 
 	struct {
 		UInt8 on;

Index: init_arm.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/backends/PalmOS/Src/init_arm.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- init_arm.cpp	10 Dec 2004 15:29:34 -0000	1.2
+++ init_arm.cpp	20 Dec 2004 17:36:54 -0000	1.3
@@ -5,17 +5,20 @@
 static void PnoInit(DmResID resID,PNOInitType *pnoP) {
 	// Load and allocate PNO
 	MemHandle armH = DmGetResource('ARMC', resID);
-	MemPtr armP = MemHandleLock(armH);
-	PnoLoad(&pnoP->pnoDesc, armP);
-	MemPtrUnlock(armP);
-	DmReleaseResource(armH);
 	
-	// Init PNO
-	PnoEntryHeader *header = (PnoEntryHeader *)ALIGN_4BYTE(pnoP->headerBuffer); 
-	pnoP->alignedHeader = header;
+	if (armH) {
+		MemPtr armP = MemHandleLock(armH);
+		PnoLoad(&pnoP->pnoDesc, armP);
+		MemPtrUnlock(armP);
+		DmReleaseResource(armH);
+		
+		// Init PNO
+		PnoEntryHeader *header = (PnoEntryHeader *)ALIGN_4BYTE(pnoP->headerBuffer); 
+		pnoP->alignedHeader = header;
 
-	header->r10Value		= pnoP->pnoDesc.r10Value;
-	header->pnoMainAddress	= pnoP->pnoDesc.pnoMainAddress;
+		header->r10Value		= pnoP->pnoDesc.r10Value;
+		header->pnoMainAddress	= pnoP->pnoDesc.pnoMainAddress;
+	}
 }
 
 void ARMInit() {





More information about the Scummvm-git-logs mailing list