[Scummvm-cvs-logs] CVS: scummvm/backends/PalmOS/Src modules.cpp,NONE,1.1 modules.h,NONE,1.1
Chris Apers
chrilith at users.sourceforge.net
Tue Nov 9 02:51:06 CET 2004
Update of /cvsroot/scummvm/scummvm/backends/PalmOS/Src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3015
Added Files:
modules.cpp modules.h
Log Message:
New module code
--- NEW FILE: modules.cpp ---
#include <PalmOS.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include "palmdefs.h"
#include "args.h"
#include "globals.h"
#include "modules.h"
#include "extend.h"
#include "features.h"
#include "rumble.h"
#include "init_mathlib.h"
#include "init_pa1lib.h"
#include "init_arm.h"
#include "init_palmos.h"
#include "init_sony.h"
#ifndef DISABLE_LIGHTSPEED
#include "lightspeed_public.h"
#endif
GlobalsDataPtr gVars;
void run(int argc, char *argv[]) {
MathlibInit();
gVars->HRrefNum = SonyHRInit(8);
if (gVars->HRrefNum == sysInvalidRefNum)
PalmHRInit(8);
gVars->slkRefNum= SilkInit(&(gVars->slkVersion));
// create file for printf, warnings, etc...
StdioInit(gVars->volRefNum, "/PALM/Programs/ScummVM/scumm.log", DrawStatus);
gUnistdCWD = SCUMMVM_SAVEPATH;
// init hardware
if (HWR_INIT(INIT_PA1LIB)) Pa1libInit();
if (HWR_INIT(INIT_VIBRATOR)) gVars->vibrator = RumbleInit();
if (HWR_INIT(INIT_ARM)) ARMInit();
PalmInit(HWR_GET());
if (!gVars->vibrator)
HWR_RST(INIT_VIBRATOR);
GlbOpen();
DO_EXIT( main(argc, argv); )
// be sure to release features memory
FREE_FTR(ftrBufferOverlay)
FREE_FTR(ftrBufferBackup)
FREE_FTR(ftrBufferHotSwap)
GlbClose();
PalmRelease(HWR_GET());
if (HWR_INIT(INIT_ARM)) ARMRelease();
if (HWR_INIT(INIT_VIBRATOR)) RumbleRelease();
if (HWR_INIT(INIT_PA1LIB)) Pa1libRelease();
// close log file
StdioRelease();
PalmHRRelease();
SonyHRRelease(gVars->HRrefNum);
SilkRelease(gVars->slkRefNum);
MathlibRelease();
MemPtrFree(gVars);
WinPalette(winPaletteSetToDefault, 0, 256, NULL);
// ArgsFree(argvP); // called in main(...)
}
static UInt32 ModulesPalmMain(UInt16 cmd, MemPtr cmdPBP, UInt16 launchFlags)
{
switch (cmd)
{
case sysAppLaunchCmdNormalLaunch:
{
if (cmdPBP) {
Char **argvP;
UInt16 cardNo;
LocalID dbID;
LaunchParamType *lp = (LaunchParamType *)cmdPBP;
gVars = lp->gVars;
argvP = lp->args.argv;
#ifndef DISABLE_LIGHTSPEED
switch (lp->lightspeed) {
case 0:
LS_SetCPUSpeedHigh();
break;
case 1:
LS_SetCPUSpeedNormal();
break;
case 2:
LS_SetCPUSpeedLow();
break;
}
#endif
// MemPtrSetOwner(gVars, ownerID);
// ArgsSetOwner(argvP, ownerID); // will be freed by main(...)
// MemPtrFree(lp); // will be freed by the system on exit
run(lp->args.argc, argvP);
cardNo = 0;
dbID = DmFindDatabase(0, "ScummVM");
if (dbID) {
if (lp->exitLauncher)
SysUIAppSwitch(cardNo, dbID, sysAppLaunchCustomDeleteEngine,0);
else
SysUIAppSwitch(cardNo, dbID, sysAppLaunchCmdNormalLaunch,0);
}
}
break;
}
default:
break;
}
return 0;
}
UInt32 PilotMain( UInt16 cmd, MemPtr cmdPBP, UInt16 launchFlags)
{
return ModulesPalmMain(cmd, cmdPBP, launchFlags);
}
--- NEW FILE: modules.h ---
#ifndef MODULES_H
#define MODULES_H
#include "globals.h"
#define sysAppLaunchCode_SVMRunEngine (sysAppLaunchCmdCustomBase + 0)
void ModDelete();
typedef struct {
UInt8 lightspeed;
Boolean exitLauncher;
struct {
UInt8 argc;
Char **argv;
} args;
GlobalsDataPtr gVars;
} LaunchParamType;
#endif
More information about the Scummvm-git-logs
mailing list