Fixed the windows version avec the separation of MMU.

Renamed ConfigKeys.c/.h to .cpp/.hpp to get it compiling
with autotools scripts.
This commit is contained in:
yabause 2006-06-20 23:08:42 +00:00
parent b7ddc9cf2b
commit 5ba0b994fa
3 changed files with 2 additions and 294 deletions

View File

@ -1,267 +0,0 @@
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <mmsystem.h>
#include <COMMDLG.H>
#include <string.h>
#include "CWindow.hpp"
#include "../debug.h"
#include "resource.h"
#define FNAME_LENGTH 512
char IniName[FNAME_LENGTH+1];
char vPath[256],*szPath,currDir[256];
unsigned long keytab[12];
const char tabkeytext[48][8] = {"0","1","2","3","4","5","6","7","8","9","A","B","C",
"D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X",
"Y","Z","SPACE","UP","DOWN","LEFT","RIGHT","TAB","SHIFT","DEL","INSERT","HOME","END","ENTER"};
DWORD dds_up=37;
DWORD dds_down=38;
DWORD dds_left=39;
DWORD dds_right=40;
DWORD dds_a=31;
DWORD dds_b=11;
DWORD dds_x=16;
DWORD dds_y=17;
DWORD dds_l=12;
DWORD dds_r=23;
DWORD dds_select=36;
DWORD dds_start=47;
DWORD dds_debug=13;
DWORD ds_up,ds_down,ds_left,ds_right,ds_a,ds_b,ds_x,ds_y,ds_l,ds_r,ds_select,ds_start,ds_debug;
#define KEY_UP ds_up
#define KEY_DOWN ds_down
#define KEY_LEFT ds_left
#define KEY_RIGHT ds_right
#define KEY_X ds_x
#define KEY_Y ds_y
#define KEY_A ds_a
#define KEY_B ds_b
#define KEY_L ds_l
#define KEY_R ds_r
#define KEY_START ds_start
#define KEY_SELECT ds_select
#define KEY_DEBUG ds_debug
const char *get_path()
{
if (*vPath) return vPath;
ZeroMemory(vPath, sizeof(vPath));
GetModuleFileName(NULL, vPath, sizeof(vPath));
char *p = vPath + lstrlen(vPath);
while (p >= vPath && *p != '\\') p--;
if (++p >= vPath) *p = 0;
return vPath;
}
void ReadConfig(void)
{
FILE *fp;
int i;
szPath = (char*)get_path();
wsprintf(IniName,"%s\\desmume.ini",szPath);
fp=fopen(IniName,"r");
fclose(fp);
if(fp==NULL)
{
WritePrivateProfileString(NULL, NULL, NULL, IniName);
}
i=GetPrivateProfileInt("KEYS","KEY_A",-1, IniName);
KEY_A = i;
i=GetPrivateProfileInt("KEYS","KEY_B",-1, IniName);
KEY_B = i;
i=GetPrivateProfileInt("KEYS","KEY_SELECT",-1, IniName);
KEY_SELECT = i;
i=GetPrivateProfileInt("KEYS","KEY_START",-1, IniName);
if(i==13)
KEY_START = 47;
else
KEY_START = i;
i=GetPrivateProfileInt("KEYS","KEY_RIGHT",-1, IniName);
KEY_RIGHT = i;
i=GetPrivateProfileInt("KEYS","KEY_LEFT",-1, IniName);
KEY_LEFT = i;
i=GetPrivateProfileInt("KEYS","KEY_UP",-1, IniName);
KEY_UP = i;
i=GetPrivateProfileInt("KEYS","KEY_DOWN",-1, IniName);
KEY_DOWN = i;
i=GetPrivateProfileInt("KEYS","KEY_R",-1, IniName);
KEY_R = i;
i=GetPrivateProfileInt("KEYS","KEY_L",-1, IniName);
KEY_L = i;
i=GetPrivateProfileInt("KEYS","KEY_X",-1, IniName);
KEY_X = i;
i=GetPrivateProfileInt("KEYS","KEY_Y",-1, IniName);
KEY_Y = i;
i=GetPrivateProfileInt("KEYS","KEY_DEBUG",-1, IniName);
KEY_DEBUG = i;
}
void WritePrivateProfileInt(char* appname, char* keyname, int val, char* file)
{
char temp[256] = "";
sprintf(temp, "%d", val);
WritePrivateProfileString(appname, keyname, temp, file);
}
void WriteConfig(void)
{
FILE *fp;
int i;
szPath = (char*)get_path();
wsprintf(IniName,"%s\\desmume.ini",szPath);
fp=fopen(IniName,"w");
fclose(fp);
if(fp==NULL)
{
WritePrivateProfileString(NULL, NULL, NULL, IniName);
}
WritePrivateProfileInt("KEYS","KEY_A",KEY_A,IniName);
WritePrivateProfileInt("KEYS","KEY_B",KEY_B,IniName);
WritePrivateProfileInt("KEYS","KEY_SELECT",KEY_SELECT,IniName);
if(KEY_START==47)
WritePrivateProfileInt("KEYS","KEY_START",13,IniName);
else
WritePrivateProfileInt("KEYS","KEY_START",KEY_START,IniName);
WritePrivateProfileInt("KEYS","KEY_RIGHT",KEY_RIGHT,IniName);
WritePrivateProfileInt("KEYS","KEY_LEFT",KEY_LEFT,IniName);
WritePrivateProfileInt("KEYS","KEY_UP",KEY_UP,IniName);
WritePrivateProfileInt("KEYS","KEY_DOWN",KEY_DOWN,IniName);
WritePrivateProfileInt("KEYS","KEY_R",KEY_R,IniName);
WritePrivateProfileInt("KEYS","KEY_L",KEY_L,IniName);
WritePrivateProfileInt("KEYS","KEY_X",KEY_X,IniName);
WritePrivateProfileInt("KEYS","KEY_Y",KEY_Y,IniName);
WritePrivateProfileInt("KEYS","KEY_DEBUG",KEY_DEBUG,IniName);
}
void dsDefaultKeys(void)
{
KEY_A=dds_a;
KEY_B=dds_b;
KEY_SELECT=dds_select;
KEY_START=dds_start;
KEY_RIGHT=dds_right;
KEY_LEFT=dds_left;
KEY_UP=dds_up;
KEY_DOWN=dds_down;
KEY_R=dds_r;
KEY_L=dds_l;
KEY_X=dds_x;
KEY_Y=dds_y;
KEY_DEBUG=dds_debug;
}
DWORD key_combos[13]={
IDC_COMBO1,
IDC_COMBO2,
IDC_COMBO3,
IDC_COMBO4,
IDC_COMBO5,
IDC_COMBO6,
IDC_COMBO7,
IDC_COMBO8,
IDC_COMBO9,
IDC_COMBO10,
IDC_COMBO11,
IDC_COMBO12,
IDC_COMBO13};
BOOL CALLBACK config_view_proc(HWND dialog,UINT komunikat,WPARAM wparam,LPARAM lparam)
{
int i,j;
char tempstring[256];
switch(komunikat)
{
case WM_INITDIALOG:
ReadConfig();
for(i=0;i<48;i++)for(j=0;j<13;j++)SendDlgItemMessage(dialog,key_combos[j],CB_ADDSTRING,0,(LPARAM)&tabkeytext[i]);
SendDlgItemMessage(dialog,IDC_COMBO1,CB_SETCURSEL,KEY_UP,0);
SendDlgItemMessage(dialog,IDC_COMBO2,CB_SETCURSEL,KEY_LEFT,0);
SendDlgItemMessage(dialog,IDC_COMBO3,CB_SETCURSEL,KEY_RIGHT,0);
SendDlgItemMessage(dialog,IDC_COMBO4,CB_SETCURSEL,KEY_DOWN,0);
SendDlgItemMessage(dialog,IDC_COMBO5,CB_SETCURSEL,KEY_Y,0);
SendDlgItemMessage(dialog,IDC_COMBO6,CB_SETCURSEL,KEY_X,0);
SendDlgItemMessage(dialog,IDC_COMBO7,CB_SETCURSEL,KEY_A,0);
SendDlgItemMessage(dialog,IDC_COMBO8,CB_SETCURSEL,KEY_B,0);
SendDlgItemMessage(dialog,IDC_COMBO9,CB_SETCURSEL,KEY_START,0);
SendDlgItemMessage(dialog,IDC_COMBO10,CB_SETCURSEL,KEY_L,0);
SendDlgItemMessage(dialog,IDC_COMBO11,CB_SETCURSEL,KEY_R,0);
SendDlgItemMessage(dialog,IDC_COMBO12,CB_SETCURSEL,KEY_SELECT,0);
SendDlgItemMessage(dialog,IDC_COMBO13,CB_SETCURSEL,KEY_DEBUG,0);
break;
case WM_COMMAND:
if((HIWORD(wparam)==BN_CLICKED)&&(((int)LOWORD(wparam))==IDC_BUTTON1))
{
dsDefaultKeys();
SendDlgItemMessage(dialog,IDC_COMBO1,CB_SETCURSEL,KEY_UP,0);
SendDlgItemMessage(dialog,IDC_COMBO2,CB_SETCURSEL,KEY_LEFT,0);
SendDlgItemMessage(dialog,IDC_COMBO3,CB_SETCURSEL,KEY_RIGHT,0);
SendDlgItemMessage(dialog,IDC_COMBO4,CB_SETCURSEL,KEY_DOWN,0);
SendDlgItemMessage(dialog,IDC_COMBO5,CB_SETCURSEL,KEY_Y,0);
SendDlgItemMessage(dialog,IDC_COMBO6,CB_SETCURSEL,KEY_X,0);
SendDlgItemMessage(dialog,IDC_COMBO7,CB_SETCURSEL,KEY_A,0);
SendDlgItemMessage(dialog,IDC_COMBO8,CB_SETCURSEL,KEY_B,0);
SendDlgItemMessage(dialog,IDC_COMBO9,CB_SETCURSEL,KEY_START,0);
SendDlgItemMessage(dialog,IDC_COMBO10,CB_SETCURSEL,KEY_L,0);
SendDlgItemMessage(dialog,IDC_COMBO11,CB_SETCURSEL,KEY_R,0);
SendDlgItemMessage(dialog,IDC_COMBO12,CB_SETCURSEL,KEY_SELECT,0);
SendDlgItemMessage(dialog,IDC_COMBO13,CB_SETCURSEL,KEY_DEBUG,0);
}
else
if((HIWORD(wparam)==BN_CLICKED)&&(((int)LOWORD(wparam))==IDC_FERMER))
{
KEY_UP=SendDlgItemMessage(dialog,IDC_COMBO1,CB_GETCURSEL,0,0);
KEY_LEFT=SendDlgItemMessage(dialog,IDC_COMBO2,CB_GETCURSEL,0,0);
KEY_RIGHT=SendDlgItemMessage(dialog,IDC_COMBO3,CB_GETCURSEL,0,0);
KEY_DOWN=SendDlgItemMessage(dialog,IDC_COMBO4,CB_GETCURSEL,0,0);
KEY_Y=SendDlgItemMessage(dialog,IDC_COMBO5,CB_GETCURSEL,0,0);
KEY_X=SendDlgItemMessage(dialog,IDC_COMBO6,CB_GETCURSEL,0,0);
KEY_A=SendDlgItemMessage(dialog,IDC_COMBO7,CB_GETCURSEL,0,0);
KEY_B=SendDlgItemMessage(dialog,IDC_COMBO8,CB_GETCURSEL,0,0);
KEY_START=SendDlgItemMessage(dialog,IDC_COMBO9,CB_GETCURSEL,0,0);
KEY_L=SendDlgItemMessage(dialog,IDC_COMBO10,CB_GETCURSEL,0,0);
KEY_R=SendDlgItemMessage(dialog,IDC_COMBO11,CB_GETCURSEL,0,0);
KEY_SELECT=SendDlgItemMessage(dialog,IDC_COMBO12,CB_GETCURSEL,0,0);
KEY_DEBUG=SendDlgItemMessage(dialog,IDC_COMBO13,CB_GETCURSEL,0,0);
WriteConfig();
EndDialog(dialog,0);
return 1;
}
break;
}
return 0;
}

View File

@ -1,26 +0,0 @@
#ifndef CONFIGKEYS_H
#define CONFIGKEYS_H
extern unsigned long keytab[12];
extern const DWORD tabkey[48];
extern DWORD ds_up;
extern DWORD ds_down;
extern DWORD ds_left;
extern DWORD ds_right;
extern DWORD ds_a;
extern DWORD ds_b;
extern DWORD ds_x;
extern DWORD ds_y;
extern DWORD ds_l;
extern DWORD ds_r;
extern DWORD ds_select;
extern DWORD ds_start;
extern DWORD ds_debug;
char *get_path();
void ReadConfig(void);
BOOL CALLBACK config_view_proc(HWND dialog,UINT komunikat,WPARAM wparam,LPARAM lparam);
#endif

View File

@ -6,7 +6,8 @@ desmume_SOURCES = \
main.cpp mapView.cpp mapView.hpp mem_view.cpp mem_view.hpp \
oamView.cpp oamView.hpp palView.cpp palView.hpp \
resource.h saves.cpp saves.hpp \
tileView.cpp tileView.hpp yopyop_private.hpp
tileView.cpp tileView.hpp yopyop_private.hpp \
ConfigKeys.cpp ConfigKeys.hpp
desmume_LDADD = ../libdesmume.a yopyop_private.o
yopyop_private.o: yopyop_private.rc resources.rc resource.h
windres yopyop_private.rc -o yopyop_private.o