First commit with most sources
This commit is contained in:
38
mmage/UNIXcompat.cpp
Normal file
38
mmage/UNIXcompat.cpp
Normal file
@@ -0,0 +1,38 @@
|
||||
#include <stdlib.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "../wonx/UNIXTimerP.h"
|
||||
#include "../wonx/UNIXTimer.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
static _UNIXTimer ut;
|
||||
|
||||
UNIXTimer UNIXTimer_Create(int auto_preset, int interval, void *parameter, UNIXTimerCallBack callback) {
|
||||
return &ut;
|
||||
}
|
||||
|
||||
UNIXTimer UNIXTimer_Destroy(UNIXTimer unix_timer) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
int UNIXTimer_Pause(UNIXTimer unix_timer) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
int UNIXTimer_Unpause(UNIXTimer unix_timer) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
int UNIXTimer_ON(UNIXTimer unix_timer) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
int UNIXTimer_OFF(UNIXTimer unix_timer) {
|
||||
return 0;
|
||||
}
|
||||
1034
mmage/mmage.cpp
Normal file
1034
mmage/mmage.cpp
Normal file
File diff suppressed because it is too large
Load Diff
44
mmage/mmage.h
Normal file
44
mmage/mmage.h
Normal file
@@ -0,0 +1,44 @@
|
||||
#ifndef _MMAGE_H
|
||||
#define _MMAGE_H
|
||||
|
||||
#define THIS_APP_TITLE TEXT("MiracleMage")
|
||||
#define THIS_APP_URL TEXT("http://www04.u-page.so-net.ne.jp/td5/zry/WonderWitch/MiracleMage/")
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define WINVER 0x0400 // Win 9x / NT 4.0 or later
|
||||
#define _WIN32_IE 0x0300 // IE 3.0 or later
|
||||
#include <windows.h>
|
||||
|
||||
typedef struct {
|
||||
HINSTANCE hInst;
|
||||
HWND hWnd;
|
||||
HDC title;
|
||||
HANDLE syncevent;
|
||||
int ww_lcd_width;
|
||||
int winwidth;
|
||||
int ww_lcd_height;
|
||||
int winheight;
|
||||
int syncperiod;
|
||||
BOOL running;
|
||||
BOOL loaded;
|
||||
HANDLE cputhread;
|
||||
BOOL active;
|
||||
int key;
|
||||
int keyhit;
|
||||
int oldkey;
|
||||
} WONW32CONTEXT, *LPWONW32CONTEXT;
|
||||
|
||||
extern LPWONW32CONTEXT wonw32ctx;
|
||||
|
||||
#ifdef _DEBUG
|
||||
void ShowError(int code);
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // #ifndef _MMAGE_H
|
||||
364
mmage/preference.cpp
Normal file
364
mmage/preference.cpp
Normal file
@@ -0,0 +1,364 @@
|
||||
#include "preference.h"
|
||||
#include "../resource/resource.h"
|
||||
|
||||
#include <shlobj.h>
|
||||
|
||||
#define INIFILE TEXT("mmage.ini")
|
||||
#define INIFILE_SECTION TEXT("MMAGE")
|
||||
#define INIFILE_KEY_VIEWSIZE TEXT("VIEWSIZE")
|
||||
#define INIFILE_KEY_HORIZONTAL TEXT("HORIZONTAL")
|
||||
#define INIFILE_KEY_QUERYARG TEXT("QUERYARG")
|
||||
#define INIFILE_KEY_ARGUMENT TEXT("ARGUMENT")
|
||||
#define INIFILE_KEY_ROM0DIR TEXT("ROM0DIR")
|
||||
#define INIFILE_KEY_RAM0DIR TEXT("RAM0DIR")
|
||||
#define INIFILE_KEY_OWNER_NAME TEXT("OWNER_NAME")
|
||||
#define INIFILE_KEY_OWNER_BYEAR TEXT("OWNER_BYEAR")
|
||||
#define INIFILE_KEY_OWNER_BMONTH TEXT("OWNER_BMONTH")
|
||||
#define INIFILE_KEY_OWNER_BDAY TEXT("OWNER_BDAY")
|
||||
#define INIFILE_KEY_OWNER_SEX TEXT("OWNER_SEX")
|
||||
#define INIFILE_KEY_OWNER_BLOOD TEXT("OWNER_BLOOD")
|
||||
|
||||
static MMAGE_CONFIG mmconfig_struct;
|
||||
LPMMAGE_CONFIG mmconfig = &mmconfig_struct;
|
||||
|
||||
static LRESULT CALLBACK RunningEnvDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
|
||||
static LRESULT CALLBACK FileSystemDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
|
||||
static LRESULT CALLBACK OwnerInfoDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
|
||||
|
||||
static BOOL SelectFolder(HWND hWnd, LPCTSTR title, LPTSTR path);
|
||||
|
||||
#define NUM_DLG 3
|
||||
|
||||
static LPCTSTR dlgtmp[NUM_DLG] = {
|
||||
(LPCTSTR)IDD_RUNNINGENV,
|
||||
(LPCTSTR)IDD_FILESYS,
|
||||
(LPCTSTR)IDD_OWNERINFO,
|
||||
};
|
||||
|
||||
static DLGPROC dlgproc[NUM_DLG] = {
|
||||
(DLGPROC)RunningEnvDlgProc,
|
||||
(DLGPROC)FileSystemDlgProc,
|
||||
(DLGPROC)OwnerInfoDlgProc,
|
||||
};
|
||||
|
||||
void OpenPreferenceDlg() {
|
||||
PROPSHEETPAGE psp;
|
||||
PROPSHEETHEADER psh;
|
||||
HPROPSHEETPAGE hpsp[NUM_DLG];
|
||||
int i;
|
||||
|
||||
psp.dwSize = sizeof(psp);
|
||||
psp.dwFlags = PSP_DEFAULT;
|
||||
psp.hInstance = wonw32ctx->hInst;
|
||||
|
||||
for(i = 0; i < NUM_DLG; i++) {
|
||||
psp.pszTemplate = dlgtmp[i];
|
||||
psp.pfnDlgProc = dlgproc[i];
|
||||
hpsp[i] = CreatePropertySheetPage(&psp);
|
||||
}
|
||||
|
||||
memset(&psh, 0, sizeof(psh));
|
||||
psh.dwSize = sizeof(psh);
|
||||
psh.dwFlags = PSH_NOAPPLYNOW;
|
||||
psh.hInstance = wonw32ctx->hInst;
|
||||
psh.hwndParent = wonw32ctx->hWnd;
|
||||
psh.nPages = NUM_DLG;
|
||||
psh.phpage = hpsp;
|
||||
psh.pszCaption = TEXT("設定");
|
||||
PropertySheet(&psh);
|
||||
return;
|
||||
}
|
||||
|
||||
static LRESULT CALLBACK RunningEnvDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) {
|
||||
int wmId, wmEvent;
|
||||
LPNMHDR nmhdr;
|
||||
BOOL handled = TRUE;
|
||||
|
||||
switch(message) {
|
||||
case WM_INITDIALOG:
|
||||
CheckDlgButton(hDlg, IDC_QUERYARG, mmconfig->queryarg);
|
||||
EnableWindow(GetDlgItem(hDlg, IDC_ARGUMENT), !mmconfig->queryarg);
|
||||
SetWindowText(GetDlgItem(hDlg, IDC_ARGUMENT), mmconfig->argument);
|
||||
break;
|
||||
|
||||
case WM_COMMAND:
|
||||
wmId = LOWORD(wParam);
|
||||
wmEvent = HIWORD(wParam);
|
||||
switch(wmId) {
|
||||
case IDC_QUERYARG:
|
||||
EnableWindow(GetDlgItem(hDlg, IDC_ARGUMENT), !IsDlgButtonChecked(hDlg, IDC_QUERYARG));
|
||||
break;
|
||||
|
||||
default:
|
||||
handled = FALSE;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case WM_NOTIFY:
|
||||
nmhdr = (NMHDR *)lParam;
|
||||
switch(nmhdr->code) {
|
||||
case PSN_APPLY:
|
||||
mmconfig->queryarg = IsDlgButtonChecked(hDlg, IDC_QUERYARG);
|
||||
GetWindowText(GetDlgItem(hDlg, IDC_ARGUMENT), mmconfig->argument, MAX_WW_ARG);
|
||||
break;
|
||||
default:
|
||||
handled = FALSE;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
handled = FALSE;
|
||||
break;
|
||||
}
|
||||
|
||||
return handled;
|
||||
}
|
||||
|
||||
static LRESULT CALLBACK FileSystemDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) {
|
||||
int wmId, wmEvent;
|
||||
LPNMHDR nmhdr;
|
||||
TCHAR dirname[MAX_PATH + 1];
|
||||
BOOL specifydir;
|
||||
BOOL handled = TRUE;
|
||||
|
||||
switch(message) {
|
||||
case WM_INITDIALOG:
|
||||
specifydir = (lstrlen(mmconfig->rom0dir) && lstrlen(mmconfig->ram0dir)) ? TRUE : FALSE;
|
||||
CheckDlgButton(hDlg, IDC_SPECIFYDIR, specifydir);
|
||||
if(specifydir) {
|
||||
SetWindowText(GetDlgItem(hDlg, IDC_ROM0), mmconfig->rom0dir);
|
||||
SetWindowText(GetDlgItem(hDlg, IDC_RAM0), mmconfig->ram0dir);
|
||||
}
|
||||
EnableWindow(GetDlgItem(hDlg, IDC_ARGUMENT), specifydir);
|
||||
EnableWindow(GetDlgItem(hDlg, IDC_ROM0), specifydir);
|
||||
EnableWindow(GetDlgItem(hDlg, IDC_ROM0REF), specifydir);
|
||||
EnableWindow(GetDlgItem(hDlg, IDC_RAM0), specifydir);
|
||||
EnableWindow(GetDlgItem(hDlg, IDC_RAM0REF), specifydir);
|
||||
break;
|
||||
|
||||
case WM_COMMAND:
|
||||
wmId = LOWORD(wParam);
|
||||
wmEvent = HIWORD(wParam);
|
||||
switch(wmId) {
|
||||
case IDC_SPECIFYDIR:
|
||||
EnableWindow(GetDlgItem(hDlg, IDC_ROM0), IsDlgButtonChecked(hDlg, IDC_SPECIFYDIR));
|
||||
EnableWindow(GetDlgItem(hDlg, IDC_ROM0REF), IsDlgButtonChecked(hDlg, IDC_SPECIFYDIR));
|
||||
EnableWindow(GetDlgItem(hDlg, IDC_RAM0), IsDlgButtonChecked(hDlg, IDC_SPECIFYDIR));
|
||||
EnableWindow(GetDlgItem(hDlg, IDC_RAM0REF), IsDlgButtonChecked(hDlg, IDC_SPECIFYDIR));
|
||||
break;
|
||||
|
||||
case IDC_ROM0REF:
|
||||
if(SelectFolder(hDlg, TEXT("/rom0 ディレクトリの指定"), dirname))
|
||||
SetWindowText(GetDlgItem(hDlg, IDC_ROM0), dirname);
|
||||
break;
|
||||
case IDC_RAM0REF:
|
||||
if(SelectFolder(hDlg, TEXT("/ram0 ディレクトリの指定"), dirname))
|
||||
SetWindowText(GetDlgItem(hDlg, IDC_RAM0), dirname);
|
||||
break;
|
||||
|
||||
default:
|
||||
handled = FALSE;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case WM_NOTIFY:
|
||||
nmhdr = (NMHDR *)lParam;
|
||||
switch(nmhdr->code) {
|
||||
case PSN_APPLY:
|
||||
specifydir = IsDlgButtonChecked(hDlg, IDC_SPECIFYDIR);
|
||||
if(specifydir) {
|
||||
if(GetWindowTextLength(GetDlgItem(hDlg, IDC_ROM0))
|
||||
&& GetWindowTextLength(GetDlgItem(hDlg, IDC_RAM0))) {
|
||||
GetWindowText(GetDlgItem(hDlg, IDC_ROM0), mmconfig->rom0dir, MAX_PATH);
|
||||
GetWindowText(GetDlgItem(hDlg, IDC_RAM0), mmconfig->ram0dir, MAX_PATH);
|
||||
} else {
|
||||
MessageBox(hDlg, TEXT("/rom0、/ram0 のマッピングディレクトリを指定してください。"), NULL, MB_OK);
|
||||
SetWindowLong(hDlg, DWL_MSGRESULT, PSNRET_INVALID_NOCHANGEPAGE);
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
lstrcpy(mmconfig->rom0dir, TEXT(""));
|
||||
lstrcpy(mmconfig->ram0dir, TEXT(""));
|
||||
}
|
||||
break;
|
||||
default:
|
||||
handled = FALSE;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
handled = FALSE;
|
||||
break;
|
||||
}
|
||||
|
||||
return handled;
|
||||
}
|
||||
|
||||
static LRESULT CALLBACK OwnerInfoDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) {
|
||||
LPNMHDR nmhdr;
|
||||
SYSTEMTIME day;
|
||||
BOOL handled = TRUE;
|
||||
|
||||
switch(message) {
|
||||
case WM_INITDIALOG:
|
||||
SetWindowText(GetDlgItem(hDlg, IDC_NAME), mmconfig->ownerinfo.name);
|
||||
|
||||
ZeroMemory(&day, sizeof(day));
|
||||
day.wYear = mmconfig->ownerinfo.birth_year;
|
||||
day.wMonth = mmconfig->ownerinfo.birth_month;
|
||||
day.wDay = mmconfig->ownerinfo.birth_day;
|
||||
SendMessage(GetDlgItem(hDlg, IDC_BIRTHDAY), DTM_SETSYSTEMTIME, GDT_VALID, (LPARAM)&day);
|
||||
|
||||
switch(mmconfig->ownerinfo.sex) {
|
||||
case 0:
|
||||
CheckDlgButton(hDlg, IDC_UNKNOWNSEX, TRUE);
|
||||
break;
|
||||
case 1:
|
||||
CheckDlgButton(hDlg, IDC_MALE, TRUE);
|
||||
break;
|
||||
case 2:
|
||||
CheckDlgButton(hDlg, IDC_FEMALE, TRUE);
|
||||
break;
|
||||
default:
|
||||
CheckDlgButton(hDlg, IDC_UNKNOWNSEX, TRUE);
|
||||
break;
|
||||
}
|
||||
|
||||
switch(mmconfig->ownerinfo.bloodtype) {
|
||||
case 0:
|
||||
CheckDlgButton(hDlg, IDC_UNKNOWNBLOOD, TRUE);
|
||||
break;
|
||||
case 1:
|
||||
CheckDlgButton(hDlg, IDC_BLOODA, TRUE);
|
||||
break;
|
||||
case 2:
|
||||
CheckDlgButton(hDlg, IDC_BLOODB, TRUE);
|
||||
break;
|
||||
case 3:
|
||||
CheckDlgButton(hDlg, IDC_BLOODO, TRUE);
|
||||
break;
|
||||
case 4:
|
||||
CheckDlgButton(hDlg, IDC_BLOODAB, TRUE);
|
||||
break;
|
||||
default:
|
||||
CheckDlgButton(hDlg, IDC_UNKNOWNBLOOD, TRUE);
|
||||
break;
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case WM_NOTIFY:
|
||||
nmhdr = (NMHDR *)lParam;
|
||||
switch(nmhdr->code) {
|
||||
case PSN_APPLY:
|
||||
GetWindowText(GetDlgItem(hDlg, IDC_NAME), mmconfig->ownerinfo.name, 16);
|
||||
|
||||
SendMessage(GetDlgItem(hDlg, IDC_BIRTHDAY), DTM_GETSYSTEMTIME, 0, (LPARAM)&day);
|
||||
mmconfig->ownerinfo.birth_year = day.wYear;
|
||||
mmconfig->ownerinfo.birth_month = (char)day.wMonth;
|
||||
mmconfig->ownerinfo.birth_day = (char)day.wDay;
|
||||
|
||||
if(IsDlgButtonChecked(hDlg, IDC_UNKNOWNSEX))
|
||||
mmconfig->ownerinfo.sex = 0;
|
||||
else if(IsDlgButtonChecked(hDlg, IDC_MALE))
|
||||
mmconfig->ownerinfo.sex = 1;
|
||||
else if(IsDlgButtonChecked(hDlg, IDC_FEMALE))
|
||||
mmconfig->ownerinfo.sex = 2;
|
||||
|
||||
if(IsDlgButtonChecked(hDlg, IDC_UNKNOWNBLOOD))
|
||||
mmconfig->ownerinfo.bloodtype = 0;
|
||||
else if(IsDlgButtonChecked(hDlg, IDC_BLOODA))
|
||||
mmconfig->ownerinfo.bloodtype = 1;
|
||||
else if(IsDlgButtonChecked(hDlg, IDC_BLOODB))
|
||||
mmconfig->ownerinfo.bloodtype = 2;
|
||||
else if(IsDlgButtonChecked(hDlg, IDC_BLOODO))
|
||||
mmconfig->ownerinfo.bloodtype = 3;
|
||||
else if(IsDlgButtonChecked(hDlg, IDC_BLOODAB))
|
||||
mmconfig->ownerinfo.bloodtype = 4;
|
||||
|
||||
break;
|
||||
|
||||
default:
|
||||
handled = FALSE;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
handled = FALSE;
|
||||
break;
|
||||
}
|
||||
|
||||
return handled;
|
||||
}
|
||||
|
||||
static BOOL SelectFolder(HWND hWnd, LPCTSTR title, LPTSTR path) {
|
||||
BROWSEINFO binfo;
|
||||
LPITEMIDLIST idlist;
|
||||
|
||||
binfo.hwndOwner = hWnd;
|
||||
binfo.pidlRoot = NULL;
|
||||
binfo.pszDisplayName = path;
|
||||
binfo.lpszTitle = title;
|
||||
binfo.ulFlags = BIF_RETURNONLYFSDIRS;
|
||||
binfo.lpfn = NULL;
|
||||
binfo.lParam = NULL;
|
||||
binfo.iImage = (int)NULL;
|
||||
|
||||
idlist = SHBrowseForFolder(&binfo);
|
||||
if (idlist) {
|
||||
SHGetPathFromIDList(idlist,path);
|
||||
CoTaskMemFree(idlist);
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void LoadConfig() {
|
||||
TCHAR inifile[MAX_PATH + 1];
|
||||
|
||||
wsprintf(inifile, TEXT("%s\\%s"), mmconfig->workingdir, INIFILE);
|
||||
|
||||
mmconfig->viewsize = GetPrivateProfileInt(INIFILE_SECTION, INIFILE_KEY_VIEWSIZE, 1, inifile);
|
||||
mmconfig->horizontal = GetPrivateProfileInt(INIFILE_SECTION, INIFILE_KEY_HORIZONTAL, MMCONFIG_HORIZONTAL, inifile);
|
||||
mmconfig->queryarg = GetPrivateProfileInt(INIFILE_SECTION, INIFILE_KEY_QUERYARG, TRUE, inifile);
|
||||
GetPrivateProfileString(INIFILE_SECTION, INIFILE_KEY_ROM0DIR, TEXT(""), mmconfig->rom0dir, MAX_PATH, inifile);
|
||||
GetPrivateProfileString(INIFILE_SECTION, INIFILE_KEY_RAM0DIR, TEXT(""), mmconfig->ram0dir, MAX_PATH, inifile);
|
||||
GetPrivateProfileString(INIFILE_SECTION, INIFILE_KEY_OWNER_NAME, TEXT(""), mmconfig->ownerinfo.name, 16, inifile);
|
||||
mmconfig->ownerinfo.birth_year = GetPrivateProfileInt(INIFILE_SECTION, INIFILE_KEY_OWNER_BYEAR, 1970, inifile);
|
||||
mmconfig->ownerinfo.birth_month = GetPrivateProfileInt(INIFILE_SECTION, INIFILE_KEY_OWNER_BMONTH, 1, inifile);
|
||||
mmconfig->ownerinfo.birth_day = GetPrivateProfileInt(INIFILE_SECTION, INIFILE_KEY_OWNER_BDAY, 1, inifile);
|
||||
mmconfig->ownerinfo.sex = GetPrivateProfileInt(INIFILE_SECTION, INIFILE_KEY_OWNER_SEX, 0, inifile);
|
||||
mmconfig->ownerinfo.bloodtype = GetPrivateProfileInt(INIFILE_SECTION, INIFILE_KEY_OWNER_BLOOD, 0, inifile);
|
||||
}
|
||||
|
||||
void SaveConfig() {
|
||||
TCHAR inifile[MAX_PATH + 1];
|
||||
TCHAR tmp[5];
|
||||
|
||||
wsprintf(inifile, TEXT("%s\\%s"), mmconfig->workingdir, INIFILE);
|
||||
|
||||
wsprintf(tmp, TEXT("%1d"), mmconfig->viewsize);
|
||||
WritePrivateProfileString(INIFILE_SECTION, INIFILE_KEY_VIEWSIZE, tmp, inifile);
|
||||
wsprintf(tmp, TEXT("%1d"), mmconfig->horizontal);
|
||||
WritePrivateProfileString(INIFILE_SECTION, INIFILE_KEY_HORIZONTAL, tmp, inifile);
|
||||
wsprintf(tmp, TEXT("%1d"), mmconfig->queryarg);
|
||||
WritePrivateProfileString(INIFILE_SECTION, INIFILE_KEY_QUERYARG, tmp, inifile);
|
||||
WritePrivateProfileString(INIFILE_SECTION, INIFILE_KEY_ROM0DIR, mmconfig->rom0dir, inifile);
|
||||
WritePrivateProfileString(INIFILE_SECTION, INIFILE_KEY_RAM0DIR, mmconfig->ram0dir, inifile);
|
||||
WritePrivateProfileString(INIFILE_SECTION, INIFILE_KEY_OWNER_NAME, mmconfig->ownerinfo.name, inifile);
|
||||
wsprintf(tmp, TEXT("%4d"), mmconfig->ownerinfo.birth_year);
|
||||
WritePrivateProfileString(INIFILE_SECTION, INIFILE_KEY_OWNER_BYEAR, tmp, inifile);
|
||||
wsprintf(tmp, TEXT("%2d"), mmconfig->ownerinfo.birth_month);
|
||||
WritePrivateProfileString(INIFILE_SECTION, INIFILE_KEY_OWNER_BMONTH, tmp, inifile);
|
||||
wsprintf(tmp, TEXT("%2d"), mmconfig->ownerinfo.birth_day);
|
||||
WritePrivateProfileString(INIFILE_SECTION, INIFILE_KEY_OWNER_BDAY, tmp, inifile);
|
||||
wsprintf(tmp, TEXT("%1d"), mmconfig->ownerinfo.sex);
|
||||
WritePrivateProfileString(INIFILE_SECTION, INIFILE_KEY_OWNER_SEX, tmp, inifile);
|
||||
wsprintf(tmp, TEXT("%1d"), mmconfig->ownerinfo.bloodtype);
|
||||
WritePrivateProfileString(INIFILE_SECTION, INIFILE_KEY_OWNER_BLOOD, tmp, inifile);
|
||||
}
|
||||
37
mmage/preference.h
Normal file
37
mmage/preference.h
Normal file
@@ -0,0 +1,37 @@
|
||||
#ifndef _PREFERENCE_H
|
||||
#define _PREFERENCE_H
|
||||
|
||||
#include "mmage.h"
|
||||
#include "../mmvm/wwstruct.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
enum {
|
||||
MMCONFIG_VERTICAL = 0,
|
||||
MMCONFIG_HORIZONTAL,
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
TCHAR workingdir[MAX_PATH + 1];
|
||||
int viewsize;
|
||||
int horizontal;
|
||||
BOOL queryarg;
|
||||
TCHAR argument[MAX_WW_ARG];
|
||||
TCHAR rom0dir[MAX_PATH + 1];
|
||||
TCHAR ram0dir[MAX_PATH + 1];
|
||||
WW_OWNERINFO ownerinfo;
|
||||
} MMAGE_CONFIG, *LPMMAGE_CONFIG;
|
||||
|
||||
extern LPMMAGE_CONFIG mmconfig;
|
||||
|
||||
void LoadConfig();
|
||||
void OpenPreferenceDlg();
|
||||
void SaveConfig();
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // #ifdef _PREFERENCE_H
|
||||
Reference in New Issue
Block a user