[Scummvm-cvs-logs] CVS: scummvm/backends/PalmOS/Src/builder b_globals.c,NONE,1.1 b_globals.h,NONE,1.1 builder.c,NONE,1.1 enum_globals.h,NONE,1.1
Chris Apers
chrilith at users.sourceforge.net
Fri Nov 28 01:55:12 CET 2003
Update of /cvsroot/scummvm/scummvm/backends/PalmOS/Src/builder
In directory sc8-pr-cvs1:/tmp/cvs-serv6867
Added Files:
b_globals.c b_globals.h builder.c enum_globals.h
Log Message:
Builder files
--- NEW FILE: b_globals.c ---
#include <PalmOS.h>
#include "b_globals.h"
/*
#define BUILD_RES GBVARS_SCUMM
#define BUILD (0)
#define BUILD_NAME "Scumm"
*/
#define BUILD_SIMON
#ifdef BUILD_SCUMM
# define BUILD_RES GBVARS_SCUMM
# define BUILD_NAME "Scumm"
#elif defined(BUILD_SIMON)
# define BUILD_RES GBVARS_SIMON
# define BUILD_NAME "Simon"
#else
# define BUILD_RES -1
# define BUILD_NAME
# error No target defined.
#endif
DmOpenRef dbP[GBVARS_COUNT];
///////////////////////////////////////////////////////////////////
void writeRecord(MemPtr ptr, UInt32 size, UInt16 index, UInt16 dbID) {
Err e;
MemHandle recordH = DmNewRecord(dbP[dbID], &index, size);
MemPtr save = MemHandleLock(recordH);
e = DmWrite(save, 0, ptr, size);
MemHandleUnlock(recordH);
DmReleaseRecord (dbP[dbID], index, 0);
}
///////////////////////////////////////////////////////////////////
void buildAll() {
Err err;
LocalID olddb;
olddb = DmFindDatabase(0, BUILD_NAME "-Globals");
if (olddb) {
DmDeleteDatabase(0,olddb);
FrmCustomAlert(1000,"delete old " BUILD_NAME " DB",0,0);
}
err = DmCreateDatabase (0, BUILD_NAME "-Globals", 'ScVM', 'GLBS', false);
olddb = DmFindDatabase(0, BUILD_NAME "-Globals");
dbP[BUILD_RES] = DmOpenDatabase(0, olddb, dmModeReadWrite);
#if defined(BUILD_SCUMM)
addImuseDigi();
addNewGui();
// temp removed
// TODO ::scummvm use sizeof(OLD256_MIDI_HACK) so i need to fix it
// directly in the code or call MemHandleSize but it may slow down
// code execution
addAkos();
addBundle();
addCodec47();
addGfx();
addDialogs();
addCharset();
addCostume();
#elif defined(BUILD_SIMON)
addSimon();
Simon_addCharset();
//#elif defined(BUILD_QUEEN)
// addRestables();
#endif
DmCloseDatabase(dbP[BUILD_RES]);
}
--- NEW FILE: b_globals.h ---
#include "enum_globals.h"
// define this to limit memory request on Simon
#define SMALL_MEMORY
void writeRecord(MemPtr ptr, UInt32 size, UInt16 index, UInt16 dbID);
void buildAll();
void addImuseDigi();
void addNewGui();
void addAkos();
void addBundle();
void addCodec47();
void addGfx();
void addDialogs();
void addCharset();
void addCostume();
void addPlayerV2();
/////////////////////////////////
void addSimon();
void Simon_addCharset();
/////////////////////////////////
void addRestables();
--- NEW FILE: builder.c ---
#include <PalmOS.h>
#include "BuilderRsc.h"
/***********************************************************************
*
* Entry Points
*
***********************************************************************/
void buildAll();
/***********************************************************************
*
* Internal Structures
*
***********************************************************************/
typedef struct
{
UInt8 replaceme;
} StarterPreferenceType;
typedef struct
{
UInt8 replaceme;
} StarterAppInfoType;
typedef StarterAppInfoType* StarterAppInfoPtr;
/***********************************************************************
*
* Global variables
*
***********************************************************************/
//static Boolean HideSecretRecords;
/***********************************************************************
*
* Internal Constants
*
***********************************************************************/
#define appFileCreator 'STRT' // register your own at http://www.palmos.com/dev/creatorid/
#define appVersionNum 0x01
#define appPrefID 0x00
#define appPrefVersionNum 0x01
// Define the minimum OS version we support (2.0 for now).
#define ourMinVersion sysMakeROMVersion(2,0,0,sysROMStageRelease,0)
#define kPalmOS10Version sysMakeROMVersion(1,0,0,sysROMStageRelease,0)
/***********************************************************************
*
* Internal Functions
*
***********************************************************************/
/***********************************************************************
*
* FUNCTION: RomVersionCompatible
*
* DESCRIPTION: This routine checks that a ROM version is meet your
* minimum requirement.
*
* PARAMETERS: requiredVersion - minimum rom version required
* (see sysFtrNumROMVersion in SystemMgr.h
* for format)
* launchFlags - flags that indicate if the application
* UI is initialized.
*
* RETURNED: error code or zero if rom is compatible
*
* REVISION HISTORY:
*
*
***********************************************************************/
static Err RomVersionCompatible(UInt32 requiredVersion, UInt16 launchFlags)
{
UInt32 romVersion;
// See if we're on in minimum required version of the ROM or later.
FtrGet(sysFtrCreator, sysFtrNumROMVersion, &romVersion);
if (romVersion < requiredVersion)
{
if ((launchFlags & (sysAppLaunchFlagNewGlobals | sysAppLaunchFlagUIApp)) ==
(sysAppLaunchFlagNewGlobals | sysAppLaunchFlagUIApp))
{
FrmAlert (RomIncompatibleAlert);
// Palm OS 1.0 will continuously relaunch this app unless we switch to
// another safe one.
if (romVersion <= kPalmOS10Version)
{
AppLaunchWithCommand(sysFileCDefaultApp, sysAppLaunchCmdNormalLaunch, NULL);
}
}
return sysErrRomIncompatible;
}
return errNone;
}
/***********************************************************************
*
* FUNCTION: GetObjectPtr
*
* DESCRIPTION: This routine returns a pointer to an object in the current
* form.
*
* PARAMETERS: formId - id of the form to display
*
* RETURNED: void *
*
* REVISION HISTORY:
*
*
***********************************************************************/
static void * GetObjectPtr(UInt16 objectID)
{
FormPtr frmP;
frmP = FrmGetActiveForm();
return FrmGetObjectPtr(frmP, FrmGetObjectIndex(frmP, objectID));
}
/***********************************************************************
*
* FUNCTION: MainFormInit
*
* DESCRIPTION: This routine initializes the MainForm form.
*
* PARAMETERS: frm - pointer to the MainForm form.
*
* RETURNED: nothing
*
* REVISION HISTORY:
*
*
***********************************************************************/
static void MainFormInit(FormPtr /*frmP*/)
{
}
/***********************************************************************
*
* FUNCTION: MainFormDoCommand
*
* DESCRIPTION: This routine performs the menu command specified.
*
* PARAMETERS: command - menu item id
*
* RETURNED: nothing
*
* REVISION HISTORY:
*
*
***********************************************************************/
static Boolean MainFormDoCommand(UInt16 command)
{
Boolean handled = false;
FormPtr frmP;
switch (command)
{
case MainOptionsAboutStarterApp:
MenuEraseStatus(0); // Clear the menu status from the display.
frmP = FrmInitForm (AboutForm);
FrmDoDialog (frmP); // Display the About Box.
FrmDeleteForm (frmP);
handled = true;
break;
}
return handled;
}
/***********************************************************************
*
* FUNCTION: MainFormHandleEvent
*
* DESCRIPTION: This routine is the event handler for the
* "MainForm" of this application.
*
* PARAMETERS: eventP - a pointer to an EventType structure
*
* RETURNED: true if the event has handle and should not be passed
* to a higher level handler.
*
* REVISION HISTORY:
*
*
***********************************************************************/
static Boolean MainFormHandleEvent(EventPtr eventP)
{
Boolean handled = false;
FormPtr frmP;
switch (eventP->eType)
{
case menuEvent:
return MainFormDoCommand(eventP->data.menu.itemID);
case frmOpenEvent:
frmP = FrmGetActiveForm();
MainFormInit( frmP);
FrmDrawForm ( frmP);
handled = true;
break;
case ctlSelectEvent:
switch (eventP->data.ctlSelect.controlID)
{
case MainBuildButton:
buildAll();
break;
}
handled = true;
break;
case frmUpdateEvent:
// To do any custom drawing here, first call FrmDrawForm(), then do your
// drawing, and then set handled to true.
break;
default:
break;
}
return handled;
}
/***********************************************************************
*
* FUNCTION: AppHandleEvent
*
* DESCRIPTION: This routine loads form resources and set the event
* handler for the form loaded.
*
* PARAMETERS: event - a pointer to an EventType structure
*
* RETURNED: true if the event has handle and should not be passed
* to a higher level handler.
*
* REVISION HISTORY:
*
*
***********************************************************************/
static Boolean AppHandleEvent(EventPtr eventP)
{
UInt16 formId;
FormPtr frmP;
if (eventP->eType == frmLoadEvent)
{
// Load the form resource.
formId = eventP->data.frmLoad.formID;
frmP = FrmInitForm(formId);
FrmSetActiveForm(frmP);
// Set the event handler for the form. The handler of the currently
// active form is called by FrmHandleEvent each time is receives an
// event.
switch (formId)
{
case MainForm:
FrmSetEventHandler(frmP, MainFormHandleEvent);
break;
default:
// ErrFatalDisplay("Invalid Form Load Event");
break;
}
return true;
}
return false;
}
/***********************************************************************
*
* FUNCTION: AppEventLoop
*
* DESCRIPTION: This routine is the event loop for the application.
*
* PARAMETERS: nothing
*
* RETURNED: nothing
*
* REVISION HISTORY:
*
*
***********************************************************************/
static void AppEventLoop(void)
{
UInt16 error;
EventType event;
do {
EvtGetEvent(&event, evtWaitForever);
if (! SysHandleEvent(&event))
if (! MenuHandleEvent(0, &event, &error))
if (! AppHandleEvent(&event))
FrmDispatchEvent(&event);
} while (event.eType != appStopEvent);
}
/***********************************************************************
*
* FUNCTION: AppStart
*
* DESCRIPTION: Get the current application's preferences.
*
* PARAMETERS: nothing
*
* RETURNED: Err value 0 if nothing went wrong
*
* REVISION HISTORY:
*
*
***********************************************************************/
static Err AppStart(void)
{
StarterPreferenceType prefs;
UInt16 prefsSize;
// Read the saved preferences / saved-state information.
prefsSize = sizeof(StarterPreferenceType);
if (PrefGetAppPreferences(appFileCreator, appPrefID, &prefs, &prefsSize, true) !=
noPreferenceFound)
{
}
return errNone;
}
/***********************************************************************
*
* FUNCTION: AppStop
*
* DESCRIPTION: Save the current state of the application.
*
* PARAMETERS: nothing
*
* RETURNED: nothing
*
* REVISION HISTORY:
*
*
***********************************************************************/
static void AppStop(void)
{
StarterPreferenceType prefs;
// Write the saved preferences / saved-state information. This data
// will saved during a HotSync backup.
PrefSetAppPreferences (appFileCreator, appPrefID, appPrefVersionNum,
&prefs, sizeof (prefs), true);
// Close all the open forms.
FrmCloseAllForms ();
}
/***********************************************************************
*
* FUNCTION: StarterPalmMain
*
* DESCRIPTION: This is the main entry point for the application.
*
* PARAMETERS: cmd - word value specifying the launch code.
* cmdPB - pointer to a structure that is associated with the launch code.
* launchFlags - word value providing extra information about the launch.
*
* RETURNED: Result of launch
*
* REVISION HISTORY:
*
*
***********************************************************************/
static UInt32 StarterPalmMain(UInt16 cmd, MemPtr /*cmdPBP*/, UInt16 launchFlags)
{
Err error;
error = RomVersionCompatible (ourMinVersion, launchFlags);
if (error) return (error);
switch (cmd)
{
case sysAppLaunchCmdNormalLaunch:
error = AppStart();
if (error)
return error;
FrmGotoForm(MainForm);
AppEventLoop();
AppStop();
break;
default:
break;
}
return errNone;
}
/***********************************************************************
*
* FUNCTION: PilotMain
*
* DESCRIPTION: This is the main entry point for the application.
*
* PARAMETERS: cmd - word value specifying the launch code.
* cmdPB - pointer to a structure that is associated with the launch code.
* launchFlags - word value providing extra information about the launch.
* RETURNED: Result of launch
*
* REVISION HISTORY:
*
*
***********************************************************************/
UInt32 PilotMain( UInt16 cmd, MemPtr cmdPBP, UInt16 launchFlags)
{
return StarterPalmMain(cmd, cmdPBP, launchFlags);
}
--- NEW FILE: enum_globals.h ---
#ifndef __ENUM_GLOBALS_H__
#define __ENUM_GLOBALS_H__
// Scumm
enum {
GBVARS_DIGSTATEMUSICMAP_INDEX = 0,
GBVARS_DIGSTATEMUSICTABLE_INDEX,
GBVARS_COMISTATEMUSICTABLE_INDEX,
GBVARS_COMISEQMUSICTABLE_INDEX,
GBVARS_DIGSEQMUSICTABLE_INDEX,
GBVARS_FTSTATEMUSICTABLE_INDEX,
GBVARS_FTSEQMUSICTABLE_INDEX,
GBVARS_GUIFONT_INDEX,
GBVARS_DEFAULTSCALETABLE_INDEX,
GBVARS_IMCTABLE_INDEX,
GBVARS_CODEC47TABLE_INDEX,
GBVARS_TRANSITIONEFFECTS_INDEX,
GBVARS_STRINGMAPTABLEV7_INDEX,
GBVARS_STRINGMAPTABLEV6_INDEX,
GBVARS_STRINGMAPTABLEV5_INDEX,
GBVARS_GERMANCHARSETDATAV2_INDEX,
GBVARS_FRENCHCHARSETDATAV2_INDEX,
GBVARS_ENGLISHCHARSETDATAV2_INDEX,
GBVARS_ITALIANCHARSETDATAV2_INDEX,
GBVARS_SPANISHCHARSETDATAV2_INDEX,
GBVARS_COSTSCALETABLE_INDEX,
GBVARS_NOTELENGTHS_INDEX,
GBVARS_HULLOFFSETS_INDEX,
GBVARS_HULLS_INDEX,
GBVARS_FREQMODLENGTHS_INDEX,
GBVARS_FREQMODOFFSETS_INDEX,
GBVARS_FREQMODTABLE_INDEX,
GBVARS_SPKFREQTABLE_INDEX,
GBVARS_PCJRFREQTABLE_INDEX
};
// Simon
enum {
GBVARS_SIMON1SETTINGS_INDEX = 0,
GBVARS_SIMON1ACORNSETTINGS_INDEX,
GBVARS_SIMON1AMIGASETTINGS_INDEX,
GBVARS_SIMON1DEMOSETTINGS_INDEX,
GBVARS_SIMON2WINSETTINGS_INDEX,
GBVARS_SIMON2MACSETTINGS_INDEX,
GBVARS_SIMON2DOSSETTINGS_INDEX,
GBVARS_FRENCHVIDEOFONT_INDEX,
GBVARS_GERMANVIDEOFONT_INDEX,
GBVARS_HEBREWVIDEOFONT_INDEX,
GBVARS_ITALIANVIDEOFONT_INDEX,
GBVARS_SPANISHVIDEOFONT_INDEX,
GBVARS_VIDEOFONT_INDEX,
GBVARS_SIMON1CURSOR_INDEX
// GBVARS_SIMON2CURSORS_INDEX
};
// Queen
enum {
GBVARS_RESOURCETABLEPE100V1_INDEX = 0,
GBVARS_RESOURCETABLEPE100V2_INDEX,
GBVARS_RESOURCETABLEPM10_INDEX,
GBVARS_RESOURCETABLECM10_INDEX
};
enum {
GBVARS_SCUMM = 0,
GBVARS_SIMON = 1,
GBVARS_SKY,
GBVARS_SWORD2,
GBVARS_QUEEN,
GBVARS_COUNT
};
#endif
More information about the Scummvm-git-logs
mailing list