aboutsummaryrefslogtreecommitdiff
path: root/backends/platform/ds/arm9/source/dsmain.h
diff options
context:
space:
mode:
Diffstat (limited to 'backends/platform/ds/arm9/source/dsmain.h')
-rw-r--r--backends/platform/ds/arm9/source/dsmain.h236
1 files changed, 236 insertions, 0 deletions
diff --git a/backends/platform/ds/arm9/source/dsmain.h b/backends/platform/ds/arm9/source/dsmain.h
new file mode 100644
index 0000000000..8c81b0f5e6
--- /dev/null
+++ b/backends/platform/ds/arm9/source/dsmain.h
@@ -0,0 +1,236 @@
+/* ScummVMDS - Scumm Interpreter DS Port
+ * Copyright (C) 2002-2004 The ScummVM project and Neil Millstone
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ */
+
+#ifndef _DSMAIN_H
+#define _DSMAIN_H
+
+#include <nds.h>
+#include "stdafx.h"
+#include "system.h"
+#include "scummconsole.h"
+#include "nds/scummvm_ipc.h"
+
+namespace DS {
+
+// Pen reading functions
+void penInit();
+void penUpdate();
+bool getPenDown();
+bool getPenHeld();
+bool getPenReleased();
+int getPenX();
+int getPenY();
+GLvector getPenPos();
+void consumePenEvents();
+
+// Pad reading
+int getKeysHeld();
+void keysUpdate();
+int getKeysDown();
+int getKeysReleased();
+void consumeKeys();
+int leftHandedSwap(int keys);
+
+// Video
+void displayMode8Bit(); // Switch to 8-bit mode5
+void displayMode16Bit(); // Switch to 16-bit mode5
+
+// Flip double buffer
+void displayMode16BitFlipBuffer();
+
+// Get address of current back buffer
+u16* get16BitBackBuffer();
+u16* get8BitBackBuffer();
+
+void setTalkPos(int x, int y);
+void setTopScreenTarget(int x, int y);
+
+// Timers
+void setTimerCallback(OSystem::TimerProc proc, int interval); // Setup a callback function at a regular interval
+int getMillis(); // Return the current runtime in milliseconds
+void doTimerCallback(); // Call callback function if required
+
+// Sound
+void setSoundProc(OSystem::SoundProc proc, void* param); // Setup a callback function for sound
+void doSoundCallback(); // Call function if sound buffers need more data
+void playSound(const void* data, u32 length, bool loop, bool adpcm = false, int rate = 22050); // Start a sound
+void stopSound(int channel);
+
+// Event queue
+void addEventsToQueue();
+void VBlankHandler();
+
+// Sam and Max Stuff
+void setGameID(int id);
+void setCursorIcon(const u8* icon, uint w, uint h, byte keycolor);
+
+// Shake
+void setShakePos(int shakePos);
+
+// Reports
+void memoryReport();
+
+// GBAMP
+bool isGBAMPAvailable();
+
+// Sleep (I'd like some of that right now)
+void checkSleepMode();
+
+// Virtual keyboard
+void setKeyboardIcon(bool enable);
+bool getKeyboardIcon();
+void setKeyboardEnable(bool en);
+bool getKeyboardEnable();
+
+// Options
+void setLeftHanded(bool enable);
+void setTouchXOffset(int x);
+void setTouchYOffset(int y);
+void setUnscaledMode(bool enable);
+void setIndyFightState(bool st);
+bool getIndyFightState();
+
+// Display
+bool getIsDisplayMode8Bit();
+void setGameSize(int width, int height);
+int getGameWidth();
+int getGameHeight();
+
+}
+
+
+#endif
+/* ScummVMDS - Scumm Interpreter DS Port
+ * Copyright (C) 2002-2004 The ScummVM project and Neil Millstone
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ */
+
+#ifndef _DSMAIN_H
+#define _DSMAIN_H
+
+#include <nds.h>
+#include "stdafx.h"
+#include "system.h"
+#include "scummconsole.h"
+#include "nds/scummvm_ipc.h"
+
+namespace DS {
+
+// Pen reading functions
+void penInit();
+void penUpdate();
+bool getPenDown();
+bool getPenHeld();
+bool getPenReleased();
+int getPenX();
+int getPenY();
+GLvector getPenPos();
+void consumePenEvents();
+
+// Pad reading
+int getKeysHeld();
+void keysUpdate();
+int getKeysDown();
+int getKeysReleased();
+void consumeKeys();
+int leftHandedSwap(int keys);
+
+// Video
+void displayMode8Bit(); // Switch to 8-bit mode5
+void displayMode16Bit(); // Switch to 16-bit mode5
+
+// Flip double buffer
+void displayMode16BitFlipBuffer();
+
+// Get address of current back buffer
+u16* get16BitBackBuffer();
+u16* get8BitBackBuffer();
+
+void setTalkPos(int x, int y);
+void setTopScreenTarget(int x, int y);
+
+// Timers
+void setTimerCallback(OSystem::TimerProc proc, int interval); // Setup a callback function at a regular interval
+int getMillis(); // Return the current runtime in milliseconds
+void doTimerCallback(); // Call callback function if required
+
+// Sound
+void setSoundProc(OSystem::SoundProc proc, void* param); // Setup a callback function for sound
+void doSoundCallback(); // Call function if sound buffers need more data
+void playSound(const void* data, u32 length, bool loop, bool adpcm = false, int rate = 22050); // Start a sound
+void stopSound(int channel);
+
+// Event queue
+void addEventsToQueue();
+void VBlankHandler();
+
+// Sam and Max Stuff
+void setGameID(int id);
+void setCursorIcon(const u8* icon, uint w, uint h, byte keycolor);
+
+// Shake
+void setShakePos(int shakePos);
+
+// Reports
+void memoryReport();
+
+// GBAMP
+bool isGBAMPAvailable();
+
+// Sleep (I'd like some of that right now)
+void checkSleepMode();
+
+// Virtual keyboard
+void setKeyboardIcon(bool enable);
+bool getKeyboardIcon();
+void setKeyboardEnable(bool en);
+bool getKeyboardEnable();
+
+// Options
+void setLeftHanded(bool enable);
+void setTouchXOffset(int x);
+void setTouchYOffset(int y);
+void setUnscaledMode(bool enable);
+void setIndyFightState(bool st);
+bool getIndyFightState();
+
+// Display
+bool getIsDisplayMode8Bit();
+void setGameSize(int width, int height);
+int getGameWidth();
+int getGameHeight();
+
+}
+
+
+#endif