[Scummvm-cvs-logs] CVS: scummvm/backends/PalmOS/Src init_arm.cpp,1.1,1.2 init_arm.h,1.1,1.2

Chris Apers chrilith at users.sourceforge.net
Fri Dec 10 07:30:22 CET 2004


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

Modified Files:
	init_arm.cpp init_arm.h 
Log Message:
New ARM call

Index: init_arm.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/backends/PalmOS/Src/init_arm.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- init_arm.cpp	9 Nov 2004 10:45:47 -0000	1.1
+++ init_arm.cpp	10 Dec 2004 15:29:34 -0000	1.2
@@ -2,56 +2,31 @@
 #include "globals.h"
 #include "init_arm.h"
 
-void ARMInit() {
-	// init global ARM only
-	MemSet(gVars->arm, sizeof(gVars->arm), 0);
-	ARM(PNO_COPYRECT	).pnoPtr = _PnoInit(RSC_COPYRECT, &ARM(PNO_COPYRECT).pnoDesc);
-	ARM(PNO_COSTUMEPROC3).pnoPtr = _PceInit(RSC_COSTUMEPROC3);
-	ARM(PNO_DRAWSTRIP	).pnoPtr = _PceInit(RSC_DRAWSTRIP);
-	ARM(PNO_BLIT		).pnoPtr = _PnoInit(RSC_BLIT, &ARM(PNO_BLIT).pnoDesc);
-}
-
-void ARMRelease() {
-	_PnoFree(&ARM(PNO_BLIT			).pnoDesc, ARM(PNO_BLIT).pnoPtr);
-	_PceFree(ARM(PNO_DRAWSTRIP		).pnoPtr);
-	_PceFree(ARM(PNO_COSTUMEPROC3	).pnoPtr);
-	_PnoFree(&ARM(PNO_COPYRECT		).pnoDesc, ARM(PNO_COPYRECT).pnoPtr);
-}
-
-MemPtr _PceInit(DmResID resID) {
+static void PnoInit(DmResID resID,PNOInitType *pnoP) {
+	// Load and allocate PNO
 	MemHandle armH = DmGetResource('ARMC', resID);
-	NativeFuncType *armP = (NativeFuncType *)MemHandleLock(armH);
-
-	return armP;
-}
-
-UInt32 _PceCall(void *armP, void *userDataP) {
-	return PceNativeCall((NativeFuncType *)armP, userDataP);
-}
-
-void _PceFree(void *armP) {
-	MemHandle armH = MemPtrRecoverHandle(armP);
-
+	MemPtr armP = MemHandleLock(armH);
+	PnoLoad(&pnoP->pnoDesc, armP);
 	MemPtrUnlock(armP);
 	DmReleaseResource(armH);
-}
-
-MemPtr _PnoInit(DmResID resID, PnoDescriptor *pnoP) {
-	MemHandle armH = DmGetResource('ARMC', resID);
-	MemPtr armP = MemHandleLock(armH);
-	PnoLoad(pnoP, armP);
+	
+	// Init PNO
+	PnoEntryHeader *header = (PnoEntryHeader *)ALIGN_4BYTE(pnoP->headerBuffer); 
+	pnoP->alignedHeader = header;
 
-	return armP;
+	header->r10Value		= pnoP->pnoDesc.r10Value;
+	header->pnoMainAddress	= pnoP->pnoDesc.pnoMainAddress;
 }
 
-UInt32 _PnoCall(PnoDescriptor *pnoP, void *userDataP) {
-	return PnoCall(pnoP, userDataP);
+void ARMInit() {
+	// init global ARM only
+	MemSet(gVars->arm, sizeof(gVars->arm), 0);
+	PnoInit(RSC_ARMCOMMON, &ARM(ARM_COMMON));
+	PnoInit(RSC_ARMENGINE, &ARM(ARM_ENGINE));
 }
 
-void _PnoFree(PnoDescriptor *pnoP, MemPtr armP) {
-	MemHandle armH = MemPtrRecoverHandle(armP);
+void ARMRelease() {
+	PnoUnload(&ARM(ARM_ENGINE).pnoDesc);
+	PnoUnload(&ARM(ARM_COMMON).pnoDesc);
+}
 
-	PnoUnload(pnoP);
-	MemPtrUnlock(armP);
-	DmReleaseResource(armH);
-}
\ No newline at end of file

Index: init_arm.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/backends/PalmOS/Src/init_arm.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- init_arm.h	9 Nov 2004 10:45:47 -0000	1.1
+++ init_arm.h	10 Dec 2004 15:29:34 -0000	1.2
@@ -4,13 +4,4 @@
 void ARMInit();
 void ARMRelease();
 
-// calls
-MemPtr	_PceInit(DmResID resID);
-UInt32	_PceCall(void *armP, void *userDataP);
-void	_PceFree(void *armP);
-
-MemPtr	_PnoInit(DmResID resID, PnoDescriptor *pnoP);
-UInt32	_PnoCall(PnoDescriptor *pnoP, void *userDataP);
-void	_PnoFree(PnoDescriptor *pnoP, MemPtr armP);
-
-#endif
\ No newline at end of file
+#endif





More information about the Scummvm-git-logs mailing list