aboutsummaryrefslogtreecommitdiff
path: root/backends/platform/PalmOS/Src/builder/b_globals.c
diff options
context:
space:
mode:
Diffstat (limited to 'backends/platform/PalmOS/Src/builder/b_globals.c')
-rw-r--r--backends/platform/PalmOS/Src/builder/b_globals.c85
1 files changed, 85 insertions, 0 deletions
diff --git a/backends/platform/PalmOS/Src/builder/b_globals.c b/backends/platform/PalmOS/Src/builder/b_globals.c
new file mode 100644
index 0000000000..dec25e96b4
--- /dev/null
+++ b/backends/platform/PalmOS/Src/builder/b_globals.c
@@ -0,0 +1,85 @@
+#include <PalmOS.h>
+#include "b_globals.h"
+
+
+//#define BUILD_COMMON
+//#define BUILD_SIMON
+#define BUILD_SCUMM
+//#define BUILD_SKY
+//#define BUILD_QUEEN
+//#define BUILD_SWORD1
+
+#ifdef BUILD_COMMON
+# define BUILD_RES GBVARS_COMMON
+# define BUILD_NAME "Common"
+#else
+# define BUILD_RES GBVARS_ENGINE
+# define BUILD_NAME "Engine"
+#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, "Glbs::" BUILD_NAME);
+ if (olddb) {
+ DmDeleteDatabase(0,olddb);
+ FrmCustomAlert(1000,"delete old " BUILD_NAME " DB",0,0);
+ }
+ err = DmCreateDatabase (0, "Glbs::" BUILD_NAME, 'ScVM', 'GLBS', false);
+ olddb = DmFindDatabase(0, "Glbs::" BUILD_NAME);
+ dbP[BUILD_RES] = DmOpenDatabase(0, olddb, dmModeReadWrite);
+
+#if defined(BUILD_COMMON)
+ addNewGui();
+
+#elif defined(BUILD_SCUMM)
+ addDimuseTables();
+ // 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();
+ addDimuseCodecs();
+ addCodec47();
+ addGfx();
+ addDialogs();
+ addCharset();
+ addCostume();
+ addPlayerV2();
+ addScummTables();
+
+#elif defined(BUILD_SIMON)
+ addSimon();
+ Simon_addCharset();
+
+#elif defined(BUILD_SKY)
+ Sky_addHufftext();
+
+#elif defined(BUILD_QUEEN)
+ Queen_addTalk();
+ Queen_addRestables();
+ Queen_addGraphics();
+ Queen_addDisplay();
+ Queen_addMusicdata();
+
+#elif defined(BUILD_SWORD1)
+ Sword1_addStaticres();
+#endif
+
+ DmCloseDatabase(dbP[BUILD_RES]);
+}