これは、ポーズの完全実装に踏み切り、パットでの対応をさせようとしたときに起きたエラーです。
具体的には、
・下キーを押すとポーズがかかり、同時に下への入力判定がオンになる
・Pキー(ポーズのキーボード対応位置)を押すとポーズがかかり、同時に下への入力判定がオンになる
・パットに対応していない
の3つです。
ずっと考えていましたが、何が悪いのかわかりません。なにとぞご教授をお願いいたします。
struct.h
//パッドに関する構造体
typedef struct{
int key[PAD_MAX];
}pad_t;
//コンフィグに関する構造体
typedef struct{
int left,up,right,down,shot,bom,slow,start,change,pause;
}configpad_t;
num=0;
while(1){
for(i=0;i<64;i++){
inputc[i]=input[i]=FileRead_getc(fp);//1文字取得する
if(inputc[i]=='/'){//スラッシュがあれば
while(FileRead_getc(fp)!='\n');//改行までループ
i=-1;//カウンタを最初に戻して
continue;
}
if(input[i]==',' || input[i]=='\n'){//カンマか改行なら
inputc[i]='\0';//そこまでを文字列とし
break;
}
if(input[i]==EOF){//ファイルの終わりなら
goto EXFILE;//終了
}
}
switch(num){
case 0: configpad.down =atoi(inputc);break;
case 1: configpad.left =atoi(inputc);break;
case 2: configpad.right =atoi(inputc);break;
case 3: configpad.up =atoi(inputc);break;
case 4: configpad.bom =atoi(inputc);break;
case 5: configpad.shot =atoi(inputc);break;
case 6: configpad.slow =atoi(inputc);break;
case 7: configpad.start =atoi(inputc);break;
case 8: configpad.pause =atoi(inputc);break;
}
num++;
}
EXFILE:
FileRead_close(fp);
void GetHitPadStateAll(){
int i,PadInput,mul=1;
PadInput = GetJoypadInputState( DX_INPUT_PAD1 );//パッドの入力状態を取得
for(i=0;i<16;i++){
if(PadInput & mul) pad.key[i]++;
else pad.key[i]=0;
mul*=2;
}
input_pad_or_key(&pad.key[configpad.left] ,CheckStateKey(KEY_INPUT_LEFT ));
input_pad_or_key(&pad.key[configpad.up] ,CheckStateKey(KEY_INPUT_UP ));
input_pad_or_key(&pad.key[configpad.right] ,CheckStateKey(KEY_INPUT_RIGHT ));
input_pad_or_key(&pad.key[configpad.down] ,CheckStateKey(KEY_INPUT_DOWN ));
input_pad_or_key(&pad.key[configpad.shot] ,CheckStateKey(KEY_INPUT_Z ));
input_pad_or_key(&pad.key[configpad.bom] ,CheckStateKey(KEY_INPUT_X ));
input_pad_or_key(&pad.key[configpad.slow] ,CheckStateKey(KEY_INPUT_LSHIFT ));
input_pad_or_key(&pad.key[configpad.start] ,CheckStateKey(KEY_INPUT_S ));
input_pad_or_key(&pad.key[configpad.change] ,CheckStateKey(KEY_INPUT_LCONTROL));
input_pad_or_key(&pad.key[configpad.pause] ,CheckStateKey(KEY_INPUT_P ));
}
/↑ここは変えない↑/
0,1,2,3,8,4,6,5,7[/code]