mirror of
https://github.com/libretro/scummvm.git
synced 2025-02-11 13:45:25 +00:00
Update to new configuration system, fixed right click, fixed landscape mode display bug
svn-id: r4166
This commit is contained in:
parent
3849080ed7
commit
5120aa3783
@ -3,9 +3,13 @@
|
||||
// Browse directories to locate SCUMM games
|
||||
|
||||
#include "stdafx.h"
|
||||
#include <assert.h>
|
||||
#include <Winuser.h>
|
||||
#include <Winnls.h>
|
||||
#include "resource.h"
|
||||
#include "scumm.h"
|
||||
|
||||
extern Config *scummcfg;
|
||||
|
||||
#define MAX_GAMES 20
|
||||
|
||||
@ -41,14 +45,14 @@ static const ScummGame GameList[] = {
|
||||
},
|
||||
{
|
||||
"Indiana Jones 3 (new)",
|
||||
"Buggy, unplayable",
|
||||
"Buggy, playable a bit",
|
||||
"indy3", "", "",
|
||||
"indy3",
|
||||
0
|
||||
},
|
||||
{
|
||||
"Zak Mc Kracken (new)",
|
||||
"Buggy, unplayable",
|
||||
"Buggy, playable a bit",
|
||||
"zak256", "", "",
|
||||
"zak256",
|
||||
0
|
||||
@ -69,14 +73,14 @@ static const ScummGame GameList[] = {
|
||||
},
|
||||
{
|
||||
"Loom (VGA)",
|
||||
"Completable",
|
||||
"Completable, MP3 audio",
|
||||
"loomcd", "", "",
|
||||
"loomcd",
|
||||
0
|
||||
},
|
||||
{
|
||||
"Monkey Island 1 (VGA)",
|
||||
"Completable, no music",
|
||||
"Completable, MP3 music",
|
||||
"", "MONKEY.000", "MONKEY.001",
|
||||
"monkey",
|
||||
0
|
||||
@ -172,62 +176,51 @@ void setFindGameDlgHandle(HWND x) {
|
||||
}
|
||||
|
||||
bool loadGameSettings() {
|
||||
HKEY hkey;
|
||||
DWORD disposition;
|
||||
DWORD keyType, keySize, dummy;
|
||||
int index;
|
||||
int i;
|
||||
unsigned char references[MAX_PATH];
|
||||
const char *current;
|
||||
|
||||
prescanning = FALSE;
|
||||
|
||||
if(RegCreateKeyEx(HKEY_CURRENT_USER, TEXT("Software\\PocketSCUMM"),
|
||||
0, NULL, 0, 0, NULL, &hkey, &disposition) == ERROR_SUCCESS) {
|
||||
|
||||
keyType = REG_DWORD;
|
||||
keySize = sizeof(DWORD);
|
||||
if (RegQueryValueEx(hkey, TEXT("GamesInstalled"), NULL, &keyType,
|
||||
(unsigned char*)&dummy, &keySize) == ERROR_SUCCESS)
|
||||
index = dummy;
|
||||
else
|
||||
return FALSE;
|
||||
|
||||
installedGamesNumber = index;
|
||||
|
||||
keyType = REG_BINARY;
|
||||
keySize = index;
|
||||
if (RegQueryValueEx(hkey, TEXT("GamesReferences"), NULL, &keyType,
|
||||
references, &keySize) != ERROR_SUCCESS)
|
||||
return FALSE;
|
||||
|
||||
for (i=0; i<index; i++)
|
||||
gamesFound[references[i]] = 1;
|
||||
|
||||
keyType = REG_SZ;
|
||||
keySize = MAX_PATH;
|
||||
if (RegQueryValueEx(hkey, TEXT("BasePath"), NULL, &keyType, (unsigned char*)basePath, &keySize) != ERROR_SUCCESS) {
|
||||
basePath[0] = '\0';
|
||||
basePath[1] = '\0';
|
||||
}
|
||||
|
||||
for (i=0; i<index; i++) {
|
||||
char work[100];
|
||||
TCHAR keyname[100];
|
||||
|
||||
gamesInstalled[i].reference = references[i];
|
||||
keySize = MAX_PATH;
|
||||
sprintf(work, "GamesDirectory%d", i);
|
||||
MultiByteToWideChar(CP_ACP, 0, work, strlen(work) + 1, keyname, sizeof(keyname));
|
||||
if (RegQueryValueEx(hkey, keyname, NULL, &keyType, (unsigned char*)gamesInstalled[i].directory, &keySize) != ERROR_SUCCESS)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
RegCloseKey(hkey);
|
||||
displayFoundGames();
|
||||
return TRUE;
|
||||
}
|
||||
else
|
||||
current = scummcfg->get("GamesInstalled", "wince");
|
||||
if (!current)
|
||||
return FALSE;
|
||||
index = atoi(current);
|
||||
|
||||
installedGamesNumber = index;
|
||||
|
||||
current = scummcfg->get("GamesReferences", "wince");
|
||||
if (!current)
|
||||
return FALSE;
|
||||
for (i=0; i<index; i++) {
|
||||
char x[6];
|
||||
int j;
|
||||
|
||||
memset(x, 0, sizeof(x));
|
||||
memcpy(x, current + 3 * i, 2);
|
||||
sscanf(x, "%x", &j);
|
||||
gamesFound[j] = 1;
|
||||
gamesInstalled[i].reference = j;
|
||||
}
|
||||
|
||||
current = scummcfg->get("BasePath", "wince");
|
||||
if (!current)
|
||||
return FALSE;
|
||||
MultiByteToWideChar(CP_ACP, 0, current, strlen(current) + 1, basePath, sizeof(basePath));
|
||||
|
||||
for (i=0; i<index; i++) {
|
||||
char keyName[100];
|
||||
|
||||
sprintf(keyName, "GamesDirectory%d", i);
|
||||
current = scummcfg->get(keyName, "wince");
|
||||
if (!current)
|
||||
return FALSE;
|
||||
MultiByteToWideChar(CP_ACP, 0, current, strlen(current) + 1, gamesInstalled[i].directory, sizeof(gamesInstalled[i].directory));
|
||||
}
|
||||
|
||||
displayFoundGames();
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
int countGameReferenced(int reference, int *infos) {
|
||||
@ -367,9 +360,8 @@ void startFindGame() {
|
||||
//TCHAR *tempo;
|
||||
int i = 0;
|
||||
int index = 0;
|
||||
HKEY hkey;
|
||||
DWORD disposition, keyType, keySize, dummy;
|
||||
unsigned char references[MAX_GAMES];
|
||||
char tempo[1024];
|
||||
char workdir[MAX_PATH];
|
||||
|
||||
prescanning = FALSE;
|
||||
|
||||
@ -395,37 +387,32 @@ void startFindGame() {
|
||||
// Save the results in the registry
|
||||
SetDlgItemText(hwndDlg, IDC_FILEPATH, TEXT("Saving the results"));
|
||||
|
||||
for (i=0; i<index; i++)
|
||||
references[i] = gamesInstalled[i].reference;
|
||||
scummcfg->set("GamesInstalled", index, "wince");
|
||||
|
||||
if(RegCreateKeyEx(HKEY_CURRENT_USER, TEXT("Software\\PocketSCUMM"),
|
||||
0, NULL, 0, 0, NULL, &hkey, &disposition) == ERROR_SUCCESS) {
|
||||
tempo[0] = '\0';
|
||||
for (i=0; i<index; i++) {
|
||||
char x[3];
|
||||
sprintf(x, "%.2x ", gamesInstalled[i].reference);
|
||||
strcat(tempo, x);
|
||||
}
|
||||
|
||||
keyType = REG_DWORD;
|
||||
keySize = sizeof(DWORD);
|
||||
dummy = index;
|
||||
RegSetValueEx(hkey, TEXT("GamesInstalled"), 0, keyType, (unsigned char*)&dummy, keySize);
|
||||
keyType = REG_BINARY;
|
||||
keySize = index;
|
||||
RegSetValueEx(hkey, TEXT("GamesReferences"), 0, keyType, references,
|
||||
keySize);
|
||||
keyType = REG_SZ;
|
||||
keySize = (wcslen(basePath) + 1) * 2;
|
||||
RegSetValueEx(hkey, TEXT("BasePath"), 0, keyType, (unsigned char*)basePath, keySize);
|
||||
for (i=0; i<index; i++) {
|
||||
char work[100];
|
||||
TCHAR keyname[100];
|
||||
scummcfg->set("GamesReferences", tempo, "wince");
|
||||
|
||||
sprintf(work, "GamesDirectory%d", i);
|
||||
MultiByteToWideChar(CP_ACP, 0, work, strlen(work) + 1, keyname, sizeof(keyname));
|
||||
keySize = (wcslen(gamesInstalled[i].directory) + 1) * 2;
|
||||
RegSetValueEx(hkey, keyname, 0, keyType, (unsigned char*)gamesInstalled[i].directory, keySize);
|
||||
}
|
||||
|
||||
RegCloseKey(hkey);
|
||||
}
|
||||
WideCharToMultiByte(CP_ACP, 0, basePath, wcslen(basePath) + 1, workdir, sizeof(workdir), NULL, NULL);
|
||||
|
||||
SetDlgItemText(hwndDlg, IDC_FILEPATH, TEXT("Scan finished"));
|
||||
scummcfg->set("BasePath", workdir, "wince");
|
||||
|
||||
for (i=0; i<index; i++) {
|
||||
char keyName[100];
|
||||
|
||||
sprintf(keyName, "GamesDirectory%d", i);
|
||||
WideCharToMultiByte(CP_ACP, 0, gamesInstalled[i].directory, wcslen(gamesInstalled[i].directory) + 1, workdir, sizeof(workdir), NULL, NULL);
|
||||
scummcfg->set(keyName, workdir, "wince");
|
||||
}
|
||||
|
||||
scummcfg->flush();
|
||||
|
||||
SetDlgItemText(hwndDlg, IDC_FILEPATH, TEXT("Scan finished"));
|
||||
|
||||
}
|
||||
|
||||
|
@ -27,7 +27,7 @@
|
||||
|
||||
#define MAX(a,b) (((a)<(b)) ? (b) : (a))
|
||||
#define MIN(a,b) (((a)>(b)) ? (b) : (a))
|
||||
#define POCKETSCUMM_BUILD "042102"
|
||||
#define POCKETSCUMM_BUILD "050102"
|
||||
|
||||
#define VERSION "Build " POCKETSCUMM_BUILD " (VM " SCUMMVM_CVS ")"
|
||||
|
||||
@ -44,7 +44,7 @@ extern void startScan();
|
||||
extern void endScanPath();
|
||||
extern void abortScanPath();
|
||||
|
||||
void registry_init();
|
||||
void load_key_mapping();
|
||||
void keypad_init();
|
||||
|
||||
extern void Cls();
|
||||
@ -55,7 +55,6 @@ extern void startScan();
|
||||
extern void endScanPath();
|
||||
extern void abortScanPath();
|
||||
|
||||
void registry_init();
|
||||
void keypad_init();
|
||||
|
||||
class OSystem_WINCE3 : public OSystem {
|
||||
@ -140,9 +139,7 @@ private:
|
||||
Event _last_mouse_event;
|
||||
HMODULE hInst;
|
||||
HWND hWnd;
|
||||
bool _display_cursor;
|
||||
bool _simulate_right_up;
|
||||
|
||||
bool _display_cursor;
|
||||
|
||||
enum {
|
||||
DF_FORCE_FULL_ON_PALETTE = 1,
|
||||
@ -356,6 +353,8 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLin
|
||||
sound_activated = true;
|
||||
hide_toolbar = false;
|
||||
|
||||
scummcfg = new Config("scummvm.ini", "scummvm");
|
||||
|
||||
argv[0] = NULL;
|
||||
argv[1] = GameSelector();
|
||||
sprintf(argdir, "-p%s", _directory);
|
||||
@ -364,8 +363,6 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLin
|
||||
if (!argv[1])
|
||||
return 0;
|
||||
|
||||
scummcfg = new Config("scummvm.ini", "scummvm");
|
||||
|
||||
if (detector.detectMain(argc, argv))
|
||||
return (-1);
|
||||
|
||||
@ -386,8 +383,12 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLin
|
||||
Scumm *scumm = Scumm::createFromDetector(&detector, system);
|
||||
g_scumm = scumm;
|
||||
|
||||
g_scumm->_sound_volume_master = 0;
|
||||
g_scumm->_sound_volume_music = detector._music_volume;
|
||||
g_scumm->_sound_volume_sfx = detector._sfx_volume;
|
||||
|
||||
keypad_init();
|
||||
registry_init();
|
||||
load_key_mapping();
|
||||
|
||||
hide_cursor = TRUE;
|
||||
if (scumm->_gameId == GID_SAMNMAX || scumm->_gameId == GID_FT || scumm->_gameId == GID_DIG)
|
||||
@ -427,14 +428,17 @@ LRESULT CALLBACK OSystem_WINCE3::WndProc(HWND hWnd, UINT message, WPARAM wParam,
|
||||
|
||||
case WM_ERASEBKGND:
|
||||
{
|
||||
|
||||
RECT rc;
|
||||
HDC hDC;
|
||||
GetClientRect(hWnd, &rc);
|
||||
rc.top = 200;
|
||||
hDC = GetDC(hWnd);
|
||||
if(rc.top < rc.bottom)
|
||||
FillRect(hDC, &rc, (HBRUSH)GetStockObject(BLACK_BRUSH));
|
||||
ReleaseDC(hWnd, hDC);
|
||||
if (!GetScreenMode()) {
|
||||
GetClientRect(hWnd, &rc);
|
||||
rc.top = 200;
|
||||
hDC = GetDC(hWnd);
|
||||
if(rc.top < rc.bottom)
|
||||
FillRect(hDC, &rc, (HBRUSH)GetStockObject(BLACK_BRUSH));
|
||||
ReleaseDC(hWnd, hDC);
|
||||
}
|
||||
}
|
||||
return 1;
|
||||
|
||||
@ -465,6 +469,18 @@ LRESULT CALLBACK OSystem_WINCE3::WndProc(HWND hWnd, UINT message, WPARAM wParam,
|
||||
if (!hide_toolbar)
|
||||
toolbar_drawn = false;
|
||||
// SHHandleWMActivate(hWnd, wParam, lParam, &sai, SHA_INPUTDIALOG);
|
||||
if (LOWORD(wParam) == WA_ACTIVE) {
|
||||
if (GetScreenMode()) {
|
||||
SHSipPreference(hWnd, SIP_FORCEDOWN);
|
||||
SHFullScreen(hWnd, SHFS_HIDETASKBAR);
|
||||
MoveWindow(hWnd, 0, 0, GetSystemMetrics(SM_CXSCREEN), GetSystemMetrics(SM_CYSCREEN), TRUE);
|
||||
SetCapture(hWnd);
|
||||
}
|
||||
else {
|
||||
SHFullScreen(hWnd, SHFS_SHOWTASKBAR);
|
||||
MoveWindow(hWnd, 0, 0, GetSystemMetrics(SM_CYSCREEN), GetSystemMetrics(SM_CXSCREEN), TRUE);
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
|
||||
case WM_HIBERNATE:
|
||||
@ -518,12 +534,16 @@ LRESULT CALLBACK OSystem_WINCE3::WndProc(HWND hWnd, UINT message, WPARAM wParam,
|
||||
break;
|
||||
|
||||
case IDC_LANDSCAPE:
|
||||
SHFullScreen (hWnd, SHFS_HIDESIPBUTTON | SHFS_HIDETASKBAR | SHFS_HIDESTARTICON);
|
||||
InvalidateRect(HWND_DESKTOP, NULL, TRUE);
|
||||
//SHFullScreen (hWnd, SHFS_HIDESIPBUTTON | SHFS_HIDETASKBAR | SHFS_HIDESTARTICON);
|
||||
//InvalidateRect(HWND_DESKTOP, NULL, TRUE);
|
||||
SetScreenMode(!GetScreenMode());
|
||||
//SHSipPreference(hWnd,SIP_FORCEDOWN);
|
||||
//MoveWindow(hWnd, 0, 0, GetSystemMetrics(SM_CXSCREEN), GetSystemMetrics(SM_CYSCREEN), TRUE);
|
||||
//SetCapture(hWnd); // to prevent input panel from getting taps
|
||||
SHSipPreference(hWnd, SIP_FORCEDOWN);
|
||||
SHFullScreen(hWnd, SHFS_HIDETASKBAR);
|
||||
MoveWindow(hWnd, 0, 0, GetSystemMetrics(SM_CXSCREEN), GetSystemMetrics(SM_CYSCREEN), TRUE);
|
||||
SetCapture(hWnd); // to prevent input panel from getting taps
|
||||
SetCapture(hWnd);
|
||||
if (!hide_toolbar)
|
||||
toolbar_drawn = false;
|
||||
break;
|
||||
@ -554,12 +574,6 @@ LRESULT CALLBACK OSystem_WINCE3::WndProc(HWND hWnd, UINT message, WPARAM wParam,
|
||||
break;
|
||||
|
||||
case WM_KEYUP:
|
||||
if (wParam) {
|
||||
if (wm->_simulate_right_up) {
|
||||
wm->_event.event_code = EVENT_RBUTTONUP;
|
||||
wm->_simulate_right_up = false;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case WM_MOUSEMOVE:
|
||||
@ -633,10 +647,19 @@ LRESULT CALLBACK OSystem_WINCE3::WndProc(HWND hWnd, UINT message, WPARAM wParam,
|
||||
}
|
||||
else
|
||||
{
|
||||
HDC hDC;
|
||||
PAINTSTRUCT ps;
|
||||
|
||||
SetScreenMode(0); // restore normal tap logic
|
||||
SHSipPreference(hWnd,SIP_UP);
|
||||
//SHSipPreference(hWnd,SIP_UP);
|
||||
ReleaseCapture();
|
||||
InvalidateRect(HWND_DESKTOP, NULL, TRUE);
|
||||
//InvalidateRect(HWND_DESKTOP, NULL, TRUE);
|
||||
SHFullScreen(hWnd, SHFS_HIDESIPBUTTON | SHFS_HIDETASKBAR | SHFS_HIDESTARTICON);
|
||||
MoveWindow(hWnd, 0, 0, GetSystemMetrics(SM_CYSCREEN), GetSystemMetrics(SM_CXSCREEN), TRUE);
|
||||
SetWindowPos(hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE|SWP_NOSIZE);
|
||||
SetForegroundWindow(hWnd);
|
||||
hDC = BeginPaint (hWnd, &ps);
|
||||
EndPaint (hWnd, &ps);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -694,81 +717,75 @@ LRESULT CALLBACK OSystem_WINCE3::WndProc(HWND hWnd, UINT message, WPARAM wParam,
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*************** Registry support ***********/
|
||||
/*************** Specific config support ***********/
|
||||
|
||||
void registry_init() {
|
||||
HKEY hkey;
|
||||
DWORD disposition;
|
||||
DWORD keyType, keySize, dummy;
|
||||
void load_key_mapping() {
|
||||
unsigned char actions[NUMBER_ACTIONS];
|
||||
const char *current;
|
||||
int i;
|
||||
|
||||
memset(actions, 0, NUMBER_ACTIONS);
|
||||
|
||||
if(RegCreateKeyEx(HKEY_CURRENT_USER, TEXT("Software\\PocketSCUMM"),
|
||||
0, NULL, 0, 0, NULL, &hkey, &disposition) == ERROR_SUCCESS) {
|
||||
current = scummcfg->get("ActionKeys", "wince");
|
||||
if (current) {
|
||||
for (i=0; i<NUMBER_ACTIONS; i++) {
|
||||
char x[6];
|
||||
int j;
|
||||
|
||||
keyType = REG_DWORD;
|
||||
keySize = sizeof(DWORD);
|
||||
if (RegQueryValueEx(hkey, TEXT("VolumeMaster"), NULL, &keyType,
|
||||
(unsigned char*)&dummy, &keySize) == ERROR_SUCCESS)
|
||||
g_scumm->_sound_volume_master = (uint16)dummy;
|
||||
else
|
||||
g_scumm->_sound_volume_master = 100;
|
||||
|
||||
if (RegQueryValueEx(hkey, TEXT("VolumeMusic"), NULL, &keyType,
|
||||
(unsigned char*)&dummy, &keySize) == ERROR_SUCCESS)
|
||||
g_scumm->_sound_volume_music = (uint16)dummy;
|
||||
else
|
||||
g_scumm->_sound_volume_music = 60;
|
||||
if (RegQueryValueEx(hkey, TEXT("VolumeSfx"), NULL, &keyType,
|
||||
(unsigned char*)&dummy, &keySize) == ERROR_SUCCESS)
|
||||
g_scumm->_sound_volume_sfx = (uint16)dummy;
|
||||
else
|
||||
g_scumm->_sound_volume_sfx = 100;
|
||||
keyType = REG_BINARY;
|
||||
keySize = NUMBER_ACTIONS;
|
||||
memset(actions, 0, sizeof(actions));
|
||||
RegQueryValueEx(hkey, TEXT("ActionsKeys"), NULL, &keyType,
|
||||
actions, &keySize);
|
||||
setActionKeys(actions);
|
||||
actions[0] = ACTION_PAUSE;
|
||||
actions[1] = ACTION_SAVE;
|
||||
actions[2] = ACTION_QUIT;
|
||||
actions[3] = ACTION_SKIP;
|
||||
actions[4] = ACTION_HIDE;
|
||||
RegQueryValueEx(hkey, TEXT("ActionsTypes"), NULL, &keyType,
|
||||
actions, &keySize);
|
||||
setActionTypes(actions);
|
||||
|
||||
RegCloseKey(hkey);
|
||||
memset(x, 0, sizeof(x));
|
||||
memcpy(x, current + 3 * i, 2);
|
||||
sscanf(x, "%x", &j);
|
||||
actions[i] = j;
|
||||
}
|
||||
}
|
||||
setActionKeys(actions);
|
||||
|
||||
memset(actions, 0, NUMBER_ACTIONS);
|
||||
|
||||
actions[0] = ACTION_PAUSE;
|
||||
actions[1] = ACTION_SAVE;
|
||||
actions[2] = ACTION_QUIT;
|
||||
actions[3] = ACTION_SKIP;
|
||||
actions[4] = ACTION_HIDE;
|
||||
|
||||
current = scummcfg->get("ActionTypes", "wince");
|
||||
if (current) {
|
||||
for (i=0; i<NUMBER_ACTIONS; i++) {
|
||||
char x[6];
|
||||
int j;
|
||||
|
||||
memset(x, 0, sizeof(x));
|
||||
memcpy(x, current + 3 * i, 2);
|
||||
sscanf(x, "%x", &j);
|
||||
actions[i] = j;
|
||||
}
|
||||
}
|
||||
setActionTypes(actions);
|
||||
}
|
||||
|
||||
void registry_save() {
|
||||
HKEY hkey;
|
||||
DWORD disposition;
|
||||
DWORD keyType, keySize, dummy;
|
||||
void save_key_mapping() {
|
||||
char tempo[1024];
|
||||
const unsigned char *work;
|
||||
int i;
|
||||
|
||||
if(RegCreateKeyEx(HKEY_CURRENT_USER, TEXT("Software\\PocketSCUMM"),
|
||||
0, NULL, 0, 0, NULL, &hkey, &disposition) == ERROR_SUCCESS) {
|
||||
|
||||
keyType = REG_DWORD;
|
||||
keySize = sizeof(DWORD);
|
||||
dummy = g_scumm->_sound_volume_master;
|
||||
RegSetValueEx(hkey, TEXT("VolumeMaster"), 0, keyType, (unsigned char*)&dummy, keySize);
|
||||
dummy = g_scumm->_sound_volume_music;
|
||||
RegSetValueEx(hkey, TEXT("VolumeMusic"), 0, keyType, (unsigned char*)&dummy, keySize);
|
||||
dummy = g_scumm->_sound_volume_sfx;
|
||||
RegSetValueEx(hkey, TEXT("VolumeSfx"), 0, keyType, (unsigned char*)&dummy, keySize);
|
||||
keyType = REG_BINARY;
|
||||
keySize = NUMBER_ACTIONS;
|
||||
RegSetValueEx(hkey, TEXT("ActionsKeys"), 0, keyType, getActionKeys(),
|
||||
keySize);
|
||||
RegSetValueEx(hkey, TEXT("ActionsTypes"), 0, keyType, getActionTypes(),
|
||||
keySize);
|
||||
|
||||
RegCloseKey(hkey);
|
||||
tempo[0] = '\0';
|
||||
work = getActionKeys();
|
||||
for (i=0; i<NUMBER_ACTIONS; i++) {
|
||||
char x[4];
|
||||
sprintf(x, "%.2x ", work[i]);
|
||||
strcat(tempo, x);
|
||||
}
|
||||
scummcfg->set("ActionKeys", tempo, "wince");
|
||||
tempo[0] = '\0';
|
||||
work = getActionTypes();
|
||||
for (i=0; i<NUMBER_ACTIONS; i++) {
|
||||
char x[3];
|
||||
sprintf(x, "%.2x ", work[i]);
|
||||
strcat(tempo, x);
|
||||
}
|
||||
scummcfg->set("ActionTypes", tempo, "wince");
|
||||
|
||||
scummcfg->flush();
|
||||
}
|
||||
|
||||
/*************** Hardware keys support ***********/
|
||||
@ -779,9 +796,10 @@ void OSystem_WINCE3::addEventKeyPressed(int ascii_code) {
|
||||
}
|
||||
|
||||
void OSystem_WINCE3::addEventRightButtonClicked() {
|
||||
_last_mouse_event.event_code = EVENT_RBUTTONDOWN;
|
||||
_event = _last_mouse_event;
|
||||
_simulate_right_up = true;
|
||||
OSystem_WINCE3* system;
|
||||
system = (OSystem_WINCE3*)g_scumm->_system;
|
||||
|
||||
system->addEventKeyPressed(9);
|
||||
}
|
||||
|
||||
void action_right_click() {
|
||||
|
Loading…
x
Reference in New Issue
Block a user