aboutsummaryrefslogtreecommitdiff
path: root/backends/PalmOS/Src/palm.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'backends/PalmOS/Src/palm.cpp')
-rw-r--r--backends/PalmOS/Src/palm.cpp302
1 files changed, 0 insertions, 302 deletions
diff --git a/backends/PalmOS/Src/palm.cpp b/backends/PalmOS/Src/palm.cpp
deleted file mode 100644
index b58cf1ec86..0000000000
--- a/backends/PalmOS/Src/palm.cpp
+++ /dev/null
@@ -1,302 +0,0 @@
-/* ScummVM - Scumm Interpreter
- * Copyright (C) 2001 Ludvig Strigeus
- * Copyright (C) 2001-2005 The ScummVM project
- *
- * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- * $Header$
- *
- */
-#include "common/stdafx.h"
-#include "palm.h"
-
-#include "scumm.h"
-#include "common/scaler.h"
-
-#include "cd_msa.h"
-#include "cd_default.h"
-#include "cd_pockettunes.h"
-
-#include <PalmNavigator.h>
-#ifndef DISABLE_TAPWAVE
-#include <TwChars.h>
-#endif
-
-OSystem *OSystem_PALMOS_create() {
- return OSystem_PALMOS::create();
-}
-
-OSystem *OSystem_PALMOS::create() {
- return new OSystem_PALMOS();
-}
-
-uint32 OSystem_PALMOS::getMillis() {
- uint32 ticks = TimGetTicks();
- ticks = ticks * 1000 / SysTicksPerSecond();
- return ticks;
-
-}
-
-void OSystem_PALMOS::delayMillis(uint msecs) {
- UInt32 current = getMillis();
- UInt32 last = current + msecs;
-
- do {
- timer_handler(current);
- sound_handler();
- current = getMillis();
- } while (current < last);
-}
-
-OSystem::MutexRef OSystem_PALMOS::createMutex() {return NULL;}
-void OSystem_PALMOS::lockMutex(MutexRef mutex) {}
-void OSystem_PALMOS::unlockMutex(MutexRef mutex) {}
-void OSystem_PALMOS::deleteMutex(MutexRef mutex) {}
-
-void OSystem_PALMOS::battery_handler() {
- UInt16 voltage, warnThreshold, criticalThreshold;
- voltage = SysBatteryInfo(false, &warnThreshold, &criticalThreshold, NULL, NULL, NULL, NULL);
-
- if (voltage <= warnThreshold) {
- if (!_showBatLow) {
- _showBatLow = true;
- draw1BitGfx(kDrawBatLow, (getWidth() >> 1), -16, true);
- }
- } else {
- if (_showBatLow) {
- _showBatLow = false;
- draw1BitGfx(kDrawBatLow, (getWidth() >> 1), -16, false);
- }
- }
-
- if (voltage <= criticalThreshold) {
- ::EventType event;
- event.eType = keyDownEvent;
- event.data.keyDown.chr = vchrAutoOff;
- event.data.keyDown.modifiers = commandKeyMask;
- EvtAddUniqueEventToQueue(&event, 0, true);
- }
-}
-
-void OSystem_PALMOS::timer_handler(UInt32 current_msecs) {
- if (_timer.active && (current_msecs >= _timer.nextExpiry)) {
- _timer.duration = _timer.callback(_timer.duration);
- _timer.nextExpiry = current_msecs + _timer.duration;
- }
-}
-
-void OSystem_PALMOS::setTimerCallback(TimerProc callback, int timer) {
- if (callback != NULL) {
- _timer.duration = timer;
- _timer.nextExpiry = getMillis() + timer;
- _timer.callback = callback;
- _timer.active = true;
- } else {
- _timer.active = false;
- }
-}
-
-void OSystem_PALMOS::setWindowCaption(const char *caption) {
- Char *loading = "Loading, please wait\0";
- Coord h = FntLineHeight() + 2;
- Coord w, y;
-
- WinSetActiveWindow(WinGetDisplayWindow());
- WinSetBackColor(0);
- WinSetTextColor(255);
-
- // erase the screen
- WinEraseWindow();
-
- if (_useHRmode) {
- y = 160 - (h >> 1) - 10;
- HRFntSetFont(gVars->HRrefNum,hrTinyBoldFont);
- w = FntCharsWidth(loading,StrLen(loading));
- w = (320 - w) >> 1;
- HRWinDrawChars(gVars->HRrefNum, loading, StrLen(loading), w, y + h);
-
- HRFntSetFont(gVars->HRrefNum,hrTinyFont);
- w = FntCharsWidth(caption, StrLen(caption));
- w = (320 - w) >> 1;
- HRWinDrawChars(gVars->HRrefNum, caption, StrLen(caption), w, y);
- } else {
- Err e;
- UInt16 size = 1;
-
- if (OPTIONS_TST(kOptModeHiDensity))
- if (WinGetCoordinateSystem() == kCoordinatesNative) {
- size = 2;
- h = (h - 2) / 2 + 2;
- }
-
- BitmapTypeV3 *bmp2P;
- BitmapType *bmp1P = BmpCreate(320, (h << 1), 8, NULL, &e);
- WinHandle tmpH = WinCreateBitmapWindow(bmp1P, &e);
-
- WinSetDrawWindow(tmpH);
- WinEraseWindow();
-
- FntSetFont(boldFont);
- w = FntCharsWidth(loading, StrLen(loading));
- w = (320 - w) >> 1;
- WinDrawChars(loading, StrLen(loading), w, 0 + h);
-
- FntSetFont(stdFont);
- w = FntCharsWidth(caption, StrLen(caption));
- w = (320 - w) >> 1;
- WinDrawChars(caption, StrLen(caption), w, 0);
-
- WinSetDrawWindow(WinGetDisplayWindow());
- bmp2P = BmpCreateBitmapV3(bmp1P, kDensityDouble, BmpGetBits(bmp1P), NULL);
- y = (80 - (h >> 2) - 5) * size;
- WinDrawBitmap((BitmapPtr)bmp2P, 0, y);
-
- BmpDelete((BitmapPtr)bmp2P);
- WinDeleteWindow(tmpH,0);
- BmpDelete(bmp1P);
- }
-}
-
-bool OSystem_PALMOS::hasFeature(Feature f) {
- return (f == kFeatureFullscreenMode && OPTIONS_TST(kOptModeWide)) ||
- (f == kFeatureAspectRatioCorrection);
-}
-
-void OSystem_PALMOS::setFeatureState(Feature f, bool enable) {
- switch (f) {
- case kFeatureFullscreenMode:
- if (_gfxLoaded)
- if (OPTIONS_TST(kOptModeWide) && _initMode != GFX_WIDE) {
- _fullscreen = enable;
- hotswap_gfx_mode(_mode);
- }
- break;
-
- case kFeatureAspectRatioCorrection:
- if (_mode == GFX_WIDE && OPTIONS_TST(kOptDeviceZodiac)) {
- _adjustAspectRatio ^= true;
- clearScreen();
- }
- break;
- }
-}
-
-bool OSystem_PALMOS::getFeatureState(Feature f) {
- switch (f) {
- case kFeatureAspectRatioCorrection:
- return _adjustAspectRatio;
- default:
- return false;
- }
-}
-
-void OSystem_PALMOS::quit() {
- free(_currentPalette);
- free(_mouseBackupP);
- free(_mouseDataP);
-
- if (_cdPlayer) {
- _cdPlayer->release();
- _cdPlayer = NULL;
- }
-
- unload_gfx_mode();
- clearSoundCallback();
-
- exit(0);
-}
-
-OSystem_PALMOS::OSystem_PALMOS() {
- _current_shake_pos = 0;
- _new_shake_pos = 0;
-
- _paletteDirtyStart = 0;
- _paletteDirtyEnd = 0;
-
- memset(&_sound, 0, sizeof(SoundDataType));
-
- _currentPalette = NULL;
- _modeChanged = false;
- _gfxLoaded = false;
-
- _lastKeyPressed = kLastKeyNone;
- _lastKeyRepeat = 100;
- _lastKeyModifier = MD_NONE;
-
- _useNumPad = false;
- _showBatLow = false;
-
- // mouse
- memset(&_mouseOldState,0,sizeof(MousePos));
- memset(&_mouseCurState,0,sizeof(MousePos));
- _mouseDrawn = false;
- _mouseBackupP = NULL;
- _mouseVisible = false;
- _mouseDataP = NULL;
-
- _currentPalette = (RGBColorType*)calloc(sizeof(RGBColorType), 256);
- _mouseBackupP = (byte*)malloc(MAX_MOUSE_W * MAX_MOUSE_H);
-
- // overlay
- _tmpScreenP = NULL;
- _tmpBackupP = NULL;
-
- // HiRes
- _useHRmode = (gVars->HRrefNum != sysInvalidRefNum);
-
- // mouse emu
- // TODO : add UX50 arrow keys
- if (OPTIONS_TST(kOpt5WayNavigator)) {
- _keyMouse.bitUp = keyBitPageUp;
- _keyMouse.bitDown = keyBitPageDown;
- _keyMouse.bitLeft = keyBitNavLeft;
- _keyMouse.bitRight = keyBitNavRight;
- _keyMouse.bitButLeft= keyBitNavSelect;
- } else {
- _keyMouse.bitUp = keyBitPageUp;
- _keyMouse.bitDown = keyBitPageDown;
- _keyMouse.bitLeft = keyBitHard1;
- _keyMouse.bitRight = keyBitHard2;
- _keyMouse.bitButLeft= keyBitHard3|0x00100000; // keyBitRockerCenter on TwKeys.h but conflict with palmnavigator.h
- }
- _keyMask = (_keyMouse.bitUp | _keyMouse.bitDown | _keyMouse.bitLeft | _keyMouse.bitRight | _keyMouse.bitButLeft);
-
- // enable cdrom ?
- _cdPlayer = NULL;
- if (gVars->CD.enable) {
- switch (gVars->CD.driver) {
- case 0: // No CD
- _cdPlayer = new DefaultCDPlayer(this);
- break;
- case 1: // MSA Library
- _cdPlayer = new MsaCDPlayer(this);
- break;
- case 2: // Pocket Tunes API
- _cdPlayer = new PckTunesCDPlayer(this);
- break;
- }
-
- if (_cdPlayer) {
- if (!_cdPlayer->init()) {
- _cdPlayer->release();
- _cdPlayer = NULL;
- }
- }
- }
-
- // sound
- memset(&_sound,0,sizeof(SoundDataType));
-}
-